Xcode@4 - Xcode v4 작업
이 작업을 사용하여 macOS에서 Xcode 작업 영역을 빌드, 테스트 또는 보관하고 필요에 따라 앱을 패키지합니다.
Syntax
# Xcode v4
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@4
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: 'iPhone 7' # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. Default: iPhone 7.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#outputPattern: # string. Output directory.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish test results to VSTS/TFS. Default: false.
입력
actions
- 작업
string
. 필수 요소. 기본값은 build
입니다.
공백으로 구분된 작업 목록을 지정합니다. 유효한 옵션은 build
, clean
, test
, analyze
및 archive
입니다. 예를 들어 는clean build
클린 빌드를 수행합니다. Xcode FAQ를 사용하여 명령줄에서 Apple: Building을 참조하세요.
configuration
- 구성
string
. 기본값은 $(Configuration)
입니다.
빌드할 Xcode 프로젝트 또는 작업 영역 구성을 지정합니다. 변수를 사용하는 경우 변수 탭에서 값(예: Release
) 을 지정합니다 .
sdk
- Sdk
string
. 기본값은 $(SDK)
입니다.
Xcode 프로젝트 또는 작업 영역을 빌드할 때 사용할 SDK를 지정합니다. macOS 터미널 애플리케이션에서 를 실행 xcodebuild -showsdks
하여 유효한 SDK 목록을 표시합니다. 변수를 사용하는 경우 변수 탭에서 값(예: iphonesimulator
) 을 지정합니다 .
xcWorkspacePath
- 작업 영역 또는 프로젝트 경로
string
. 기본값은 **/*.xcodeproj/project.xcworkspace
입니다.
(선택 사항) 리포지토리의 루트에서 Xcode 작업 영역 또는 프로젝트로의 상대 경로를 지정합니다. 값을 지정하는 경우 구성표도 지정해야 합니다. 고급 인수에서 를 지정하는 -target flag
경우 값을 지정하지 마세요. 예를 들어 MyApp/MyApp.xcworkspace
또는 MyApp/MyApp.xcodeproj
입니다.
scheme
- 구성표
string
.
(선택 사항) Xcode 구성표 이름을 지정합니다. 공유 스키마여야 합니다 (Xcode 의 관리 체계 아래 공유 확인란). 스키마를 지정하지 않고 지정된 작업 영역에 단일 공유 구성표가 있는 경우 작업 영역 구성표가 사용됩니다.
xcodeVersion
- Xcode 버전
string
. 허용되는 값: 8
(Xcode 8), 9
(Xcode 9), default
, specifyPath
(경로 지정). 기본값은 default
입니다.
Xcode의 대상 버전을 지정합니다. 에이전트 컴퓨터에서 Xcode의 기본 버전을 사용하려면 선택합니다 Default
. 버전 번호(예 Xcode 9
: )를 지정하면 에이전트 컴퓨터의 환경 변수에 의해 설정되는 버전 위치(예 XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
: )가 사용됩니다. Xcode 개발자 디렉터리에 대한 특정 경로를 제공하려면 선택합니다 Specify path
.
xcodeDeveloperDir
- Xcode 개발자 경로
string
. (선택 사항) 을 사용할 때 xcodeVersion == specifyPath
사용합니다.
특정 Xcode 개발자 디렉터리(예 /Applications/Xcode_9.0.0.app/Contents/Developer
: )에 대한 경로를 지정합니다. 이 입력은 여러 버전의 Xcode가 에이전트 컴퓨터에 설치된 경우에 유용합니다.
packageApp
- 앱 패키지 만들기
boolean
. 기본값은 false
입니다.
IPA 앱 패키지 파일을 빌드의 일부로 생성할지 여부를 지정합니다.
archivePath
- 보관 경로
string
. (선택 사항) 을 사용할 때 packageApp == true
사용합니다.
만든 보관 파일이 배치되는 디렉터리를 지정합니다.
exportPath
- 경로 내보내기
string
. (선택 사항) 을 사용할 때 packageApp == true
사용합니다. 기본값은 output/$(SDK)/$(Configuration)
입니다.
보관에서 내보낸 제품의 대상을 지정합니다.
exportOptions
- 내보내기 옵션
string
. (선택 사항) 을 사용할 때 packageApp == true
사용합니다. 허용되는 값: auto
(자동), plist
, specify
. 기본값은 auto
입니다.
보관 파일을 내보내는 옵션을 지정합니다. 의 기본값 Automatic
을 선택하면 내보내기 메서드가 보관 파일에서 자동으로 검색됩니다. 내보내기 옵션을 포함하는 plist 파일을 지정하려면 선택합니다 Plist
. 특정 내보내기 메서드 및 팀 ID를 제공하려면 선택합니다Specify
.
exportMethod
- 내보내기 방법
string
. 필요한 경우 exportOptions == specify
입니다. 기본값은 development
입니다.
Xcode에서 보관 파일을 내보내는 데 사용하는 메서드를 지정합니다. 예: app-store
, package
, ad-hoc
, enterprise
또는 development
.
exportTeamId
- 팀 ID
string
. (선택 사항) 을 사용할 때 exportOptions == specify
사용합니다.
내보내기 중에 사용할 Apple 개발자 포털 10자 팀 ID를 지정합니다.
exportOptionsPlist
- 내보내기 옵션 plist
string
. 필요한 경우 exportOptions == plist
입니다.
내보내기 중에 사용할 옵션이 포함된 plist 파일의 경로를 지정합니다.
exportArgs
- 인수 내보내기
string
. (선택 사항) 을 사용할 때 packageApp == true
사용합니다.
내보내기 중에 사용되는 추가 명령줄 인수를 지정합니다.
signingOption
- 서명 스타일
string
. 허용되는 값: nosign
(코드 기호 안 함), default
(프로젝트 기본값), manual
(수동 서명), auto
(자동 서명). 기본값은 nosign
입니다.
빌드에 서명하는 방법을 지정합니다. 서명을 사용하지 않도록 설정하려면 선택합니다 Do not code sign
. 프로젝트의 서명 구성만 사용하려면 선택합니다 Project defaults
. 수동 서명을 강제 적용하고 선택적으로 서명 ID 및 프로비저닝 프로필을 지정하려면 선택합니다 Manual signing
. 자동 서명을 강제 적용하고 필요에 따라 개발 팀 ID를 지정하려면 선택합니다 Automatic signing
. 프로젝트에 서명이 필요한 경우 Apple 설치... 작업을 사용하여 Xcode 빌드 전에 인증서 및 프로비저닝 프로필을 설치합니다.
signingIdentity
- 서명 ID
string
. (선택 사항) 을 사용할 때 signingOption = manual
사용합니다.
빌드에 서명할 서명 ID 재정의를 지정합니다. 에이전트 컴퓨터에서 기본 키 집합의 잠금을 해제해야 할 수 있습니다. 값을 입력하지 않으면 Xcode 프로젝트의 설정이 사용됩니다.
provisioningProfileUuid
- 프로비저닝 프로필 UUID
string
. (선택 사항) 를 사용하는 경우 signingOption = manual
를 사용합니다.
빌드에 사용되는 설치된 프로비저닝 프로필의 UUID를 지정합니다. 서로 다른 스키마 또는 대상이 있는 별도의 빌드 작업을 사용하여 단일 작업 영역(iOS, tvOS, watchOS)에서 대상별로 프로비저닝 프로필을 지정합니다.
teamId
- 팀 ID
string
. (선택 사항) 를 사용하는 경우 signingOption = auto
를 사용합니다.
여러 개발 팀의 구성원인 경우 필요합니다. 10자 개발 팀 ID를 지정합니다.
destinationPlatformOption
- 대상 플랫폼
string
. 허용되는 값: default
, (iOS 및 watchOS), tvOS
, , macOS
. custom
iOS
기본값은 default
입니다.
일반 빌드 디바이스가 유효하지 않은 경우 UI 테스트에 사용되는 대상 디바이스의 플랫폼을 지정합니다. 목록에 포함되지 않은 플랫폼을 지정하도록 선택합니다 Custom
. Default
이 선택되면 시뮬레이터 또는 디바이스가 대상으로 지정되지 않습니다.
destinationPlatform
- 사용자 지정 대상 플랫폼
string
. (선택 사항) 를 사용하는 경우 destinationPlatformOption == custom
를 사용합니다.
일반 빌드 디바이스가 유효하지 않은 경우 UI 테스트에 사용되는 대상 디바이스의 플랫폼을 지정합니다.
destinationTypeOption
- 대상 유형
string
. (선택 사항) 를 사용하는 경우 destinationPlatformOption != default && destinationPlatformOption != macOS
를 사용합니다. 허용되는 값: simulators
(시뮬레이터), devices
(연결된 디바이스). 기본값은 simulators
입니다.
UI 테스트에 사용되는 대상 유형을 지정합니다. 디바이스는 케이블 또는 네트워크 연결을 통해 빌드를 수행하는 Mac에 연결되어야 합니다. 자세한 내용은 Xcode의 디바이스 및 시뮬레이터 를 참조하세요.
destinationSimulators
- 시뮬레이터
string
. (선택 사항) 를 사용하는 경우 destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
를 사용합니다. 기본값은 iPhone 7
입니다.
UI 테스트에 사용되는 Xcode 시뮬레이터 이름을 지정합니다. 예를 들어 iPhone X
(iOS 및 watchOS) 또는 Apple TV 4K
(tvOS). 선택적 대상 OS 버전은 형식 OS=<versionNumber>
(예: )으로 iPhone X,OS=11.1
지정할 수 있습니다. 호스트된 macOS 미리 보기 에이전트에 설치된 시뮬레이터에 대해 자세히 알아봅니다.
destinationDevices
- 장치
string
. (선택 사항) 를 사용하는 경우 destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
를 사용합니다.
와 같은 Raisa's iPad
UI 테스트에 사용되는 디바이스의 이름을 지정합니다.
args
- 인수
string
.
(선택 사항) 빌드할 추가 명령줄 인수를 지정합니다. 이 입력은 작업 영역/프로젝트 및 스키마 대신 또는 -project
인수를 지정하는 -target
데 유용합니다. Xcode FAQ를 사용하여 명령줄에서 Apple: Building을 참조하세요.
workingDirectory
- 작업 디렉터리
입력 별칭: cwd
. string
.
(선택 사항) 빌드를 실행할 작업 디렉터리를 지정합니다. 값을 입력하지 않으면 리포지토리의 루트가 사용됩니다.
outputPattern
- 출력 디렉터리
string
.
(선택 사항) 빌드 출력(이진 파일)이 배치되는 작업 디렉터리에 대한 상대 경로를 지정합니다. 예를 들어 output/$(SDK)/$(Configuration)
또는 output/$(TestSDK)/$(TestConfiguration)
입니다. 보관 및 내보내기 경로는 별도로 구성됩니다. 변수 탭에서 값을 지정합니다.
useXcpretty
- xcpretty 사용
boolean
. 기본값은 false
입니다.
를 사용하여 xcpretty
출력의 서식 xcodebuild
을 지정할지 여부를 지정하고 JUnit 테스트 결과를 생성합니다. xcpretty
는 에이전트 컴퓨터에 설치해야 합니다(VSTS 호스팅 빌드 에이전트에 사전 설치됨). 자세한 내용은 xcpretty 를 참조하세요.
publishJUnitResults
- VSTS/TFS에 테스트 결과 게시
boolean
. 기본값은 false
입니다.
가 사용하도록 설정된 경우 xcpretty
이 입력은 JUnit 테스트 결과를 VSTS/TFS에 게시할지 여부를 지정합니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
이 작업을 사용하여 macOS에서 Xcode 작업 영역을 빌드합니다.
예제
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 자체 호스팅 에이전트에는 이 작업을 사용하는 작업을 실행하기 위한 다음 요구 사항과 일치하는 기능이 있어야 합니다. xcode |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
Settable 변수 | 모두 |
에이전트 버전 | 지원되는 모든 에이전트 버전입니다. |
작업 범주 | 빌드 |