{"meta":{"title":"Swift 빌드 및 테스트","intro":"CI(연속 통합) 워크플로를 만들어 Swift 프로젝트를 빌드하고 테스트하는 방법을 알아보세요.","product":"GitHub Actions","breadcrumbs":[{"href":"/ko/actions","title":"GitHub Actions"},{"href":"/ko/actions/tutorials","title":"자습서"},{"href":"/ko/actions/tutorials/build-and-test-code","title":"코드 빌드 및 테스트"},{"href":"/ko/actions/tutorials/build-and-test-code/swift","title":"Swift"}],"documentType":"article"},"body":"# Swift 빌드 및 테스트\n\nCI(연속 통합) 워크플로를 만들어 Swift 프로젝트를 빌드하고 테스트하는 방법을 알아보세요.\n\n## 소개\n\n이 가이드에서는 Swift 패키지를 빌드하고 테스트하는 방법을 보여 줍니다.\n\nGitHub-hosted runners에는 사전 설치된 소프트웨어가 있는 도구 캐시가 있으며, Ubuntu 및 macOS 실행기는 Swift 패키지를 빌드하기 위한 종속성을 포함합니다. 최신 소프트웨어 및 사전 설치된 버전의 Swift와 Xcode에 대한 전체 목록은 [GitHub 호스팅 실행기](/ko/actions/concepts/runners/github-hosted-runners#preinstalled-software-for-github-owned-images)을(를) 참조하세요.\n\n## 필수 조건\n\nYAML 구문과 이 구문이 사용되는 GitHub Actions방법에 대해 이미 잘 알고 있어야 합니다. 자세한 내용은 [GitHub Actions에 대한 워크플로 구문](/ko/actions/reference/workflows-and-actions/workflow-syntax)을(를) 참조하세요.\n\nSwift 패키지를 기본적으로 이해하는 것이 좋습니다. 자세한 내용은 Apple 개발자 설명서의 [Swift 패키지](https://developer.apple.com/documentation/xcode/swift-packages)를 참조하세요.\n\n## Swift 워크플로 템플릿 사용\n\n빠르게 시작하려면 워크플로 템플릿을 리포지토리의 `.github/workflows` 디렉터리에 추가합니다.\n\nGitHub 는 대부분의 Swift 프로젝트에서 작동해야 하는 Swift에 대한 워크플로 템플릿을 제공합니다. 이 가이드의 후속 섹션에서는 이 워크플로 템플릿을 사용자 지정하는 방법에 대한 예시를 제공합니다.\n\n1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.\n\n2. 리포지토리 이름에서 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> 작업**을 클릭합니다.\n\n   ![\"github/docs\" 리포지토리의 탭 스크린샷. \"작업\" 탭은 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. 리포지토리에 워크플로가 이미 있는 경우 **새 워크플로**를 클릭합니다.\n\n4. \"워크플로 선택\" 페이지에는 권장되는 워크플로 템플릿의 선택 항목이 표시됩니다. \"swift\"를 검색합니다.\n\n5. **지속적 통합**을 클릭하여 워크플로 선택을 필터링합니다.\n\n6. \"Swift\" 워크플로에서 **구성**을 클릭합니다.\n\n7. 필요에 따라 워크플로를 편집합니다. 예를 들어, 워크플로가 실행될 브랜치를 변경합니다.\n\n8. **변경 내용 커밋**을 클릭합니다.\n\n`swift.yml` 워크플로 파일이 리포지토리의 `.github/workflows` 디렉터리에 추가됩니다.\n\n## Swift 버전 지정\n\n호스팅된 GitHub 실행기에서 미리 설치된 특정 버전의 Swift를 사용하려면 `swift-actions/setup-swift` 작업을 사용하세요. 이 작업은 실행기의 도구 캐시에서 특정 버전의 Swift를 찾고 필수 이진 파일을 `PATH`에 추가합니다. 이러한 변경 내용은 작업의 나머지 부분에 대해 유지됩니다. 자세한 내용은 [`swift-actions/setup-swift`](https://github.com/marketplace/actions/setup-swift) 작업을 참조하세요.\n\n자체 호스트 실행기를 사용하는 경우 원하는 Swift 버전을 설치하고 `PATH`에 추가해야 합니다.\n\n아래 예시에서는 `swift-actions/setup-swift` 작업을 사용하는 방법을 보여 줍니다.\n\n### 여러 Swift 버전 사용\n\n행렬에서 여러 버전의 Swift를 사용하도록 작업을 구성할 수 있습니다.\n\n```yaml copy\n\n# 이 워크플로는 GitHub에서 인증되지 않은 작업을 사용합니다.\n# 작업은 타사에서 제공하며\n# 별도의 서비스 약관, 개인정보처리방침, 지원 설명서에서 규정됩니다.\n# 참조하세요.\n\n# 커밋 SHA에 작업을 고정하는 것이 좋습니다.\n# 최신 버전을 얻으려면 SHA를 업데이트해야 합니다.\n# 태그 또는 분기를 참조할 수도 있지만 경고 없이 작업이 변경될 수 있습니다.\n\nname: Swift\n\non: [push]\n\njobs:\n  build:\n    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [ubuntu-latest, macos-latest]\n        swift: [\"5.2\", \"5.3\"]\n    runs-on: ${{ matrix.os }}\n    steps:\n      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n        with:\n          swift-version: ${{ matrix.swift }}\n      - uses: actions/checkout@v6\n      - name: Build\n        run: swift build\n      - name: Run tests\n        run: swift test\n```\n\n### 단일 특정 Swift 버전 사용\n\n`5.3.3`과 같은 특정 버전의 Swift를 사용하도록 작업을 구성할 수 있습니다.\n\n```yaml copy\n# 이 워크플로는 GitHub에서 인증되지 않은 작업을 사용합니다.\n# 작업은 타사에서 제공하며\n# 별도의 서비스 약관, 개인정보처리방침, 지원 설명서에서 규정됩니다.\n# 참조하세요.\nsteps:\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Get swift version\n    run: swift --version # Swift 5.3.3\n```\n\n## 코드 빌드 및 테스트\n\n로컬에서 사용하는 것과 동일한 명령으로 Swift를 사용하여 코드를 빌드하고 테스트할 수 있습니다. 이 예시에서는 작업에서 `swift build` 및 `swift test`를 사용하는 방법을 보여 줍니다.\n\n```yaml copy\n# 이 워크플로는 GitHub에서 인증되지 않은 작업을 사용합니다.\n# 작업은 타사에서 제공하며\n# 별도의 서비스 약관, 개인정보처리방침, 지원 설명서에서 규정됩니다.\n# 참조하세요.\nsteps:\n  - uses: actions/checkout@v6\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Build\n    run: swift build\n  - name: Run tests\n    run: swift test\n```"}