다음을 통해 공유


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, analyzearchive입니다. 예를 들어 는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. customiOS 기본값은 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 iPadUI 테스트에 사용되는 디바이스의 이름을 지정합니다.


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 변수 모두
에이전트 버전 지원되는 모든 에이전트 버전입니다.
작업 범주 빌드