Xcode@2 - Tugas Xcode Build v2
Gunakan tugas ini untuk membangun ruang kerja Xcode di macOS.
Sintaks
# Xcode Build v2
# Build an Xcode workspace on Mac OS.
- task: Xcode@2
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/*.xcworkspace' # string. Workspace/Project Path. Default: **/*.xcodeproj/*.xcworkspace.
#scheme: # string. Scheme.
#packageApp: true # boolean. Create App Package. Default: true.
# Package Options
packageTool: 'xcodebuild' # 'xcrun' | 'xcodebuild'. Required. Create Package (IPA) using. Default: xcodebuild.
#archivePath: # string. Optional. Use when packageTool == xcodebuild. Archive Path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageTool == xcodebuild. Export Path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageTool == xcodebuild. 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.
# Signing & Provisioning
#xcode8AutomaticSigning: false # boolean. Automatic Signing. Default: false.
#teamId: # string. Optional. Use when xcode8AutomaticSigning = true. Team ID.
#signMethod: 'file' # 'file' | 'id'. Override Using. Default: file.
#iosSigningIdentity: # string. Optional. Use when signMethod = id. Signing Identity.
#unlockDefaultKeychain: false # boolean. Optional. Use when signMethod = id. Unlock Default Keychain. Default: false.
#defaultKeychainPassword: # string. Optional. Use when signMethod = id. Default Keychain Password.
#provProfileUuid: # string. Optional. Use when signMethod = id. Provisioning Profile UUID.
#p12: # string. Optional. Use when signMethod = file. P12 Certificate File.
#p12pwd: # string. Optional. Use when signMethod = file. P12 Password.
#provProfile: # string. Optional. Use when signMethod = file. Provisioning Profile File.
#removeProfile: false # boolean. Optional. Use when signMethod = file. Remove Profile After Build. Default: false.
# Advanced
#args: # string. Arguments.
#cwd: # string. Working Directory.
outputPattern: 'output/$(SDK)/$(Configuration)' # string. Required. Output Directory. Default: output/$(SDK)/$(Configuration).
#xcodeDeveloperDir: # string. Xcode Developer Path.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish to VSTS/TFS. Default: false.
# xctool (deprecated)
#useXctool: # boolean. Use xctool.
#xctoolReporter: # string. xctool Test Reporter Format.
Input
actions
- Tindakan
string
. Wajib diisi. Nilai default: build
.
Menentukan daftar tindakan yang dibatasi spasi. Opsi yang valid adalah build
, clean
, test
, analyze
, dan archive
. Misalnya, build clean
melakukan build yang bersih. Lihat Apple: Membangun dari baris perintah dengan FAQ Xcode.
configuration
- Konfigurasi
string
. Nilai default: $(Configuration)
.
Menentukan proyek Xcode atau konfigurasi ruang kerja yang akan dibangun. Saat menggunakan variabel, tentukan nilai (misalnya, Release
) pada tab Variabel .
sdk
- SDK
string
. Nilai default: $(SDK)
.
Membangun proyek atau ruang kerja Xcode terhadap SDK yang ditentukan. Jalankan xcodebuild -showsdks
untuk melihat daftar SDK yang valid.
xcWorkspacePath
- Jalur Ruang Kerja/Proyek
string
. Nilai default: **/*.xcodeproj/*.xcworkspace
.
Pilihan. Menentukan jalur relatif dari akar repositori ke ruang kerja atau proyek Xcode. Contohnya: MyApp/MyApp.xcworkspace
atau MyApp/MyApp.xcworkspace/MyApp.xcodeproj
.
Biarkan kosong jika Anda ingin menggunakan -target flag
di bawah Argumen Tingkat Lanjut.
scheme
- Skema
string
.
Opsional. Menentukan nama skema Xcode. Harus berupa skema bersama (kotak centang bersama di bawah Skema Terkelola di Xcode). Diperlukan jika Ruang Kerja ditentukan.
packageApp
- Membuat Paket Aplikasi
boolean
. Nilai default: true
.
Menentukan apakah IPA dihasilkan sebagai bagian dari build. Untuk mengekspor arsip dengan Xcode 7 dan Xcode 8, tinjau input tambahan di bagian Opsi Paket .
packageTool
- Membuat Paket (IPA) menggunakan
string
. Wajib diisi. Nilai yang diizinkan: xcrun
(xcrun (tidak digunakan lagi oleh Apple)), xcodebuild
(arsip dan ekspor xcodebuild). Nilai default: xcodebuild
.
Menentukan alat yang akan digunakan untuk menghasilkan IPA.
archivePath
- Jalur Arsip
string
. Opsional. Gunakan saat packageTool == xcodebuild
.
Menentukan direktori tempat arsip yang dibuat ditempatkan.
exportPath
- Jalur Ekspor
string
. Pilihan. Gunakan saat packageTool == xcodebuild
. Nilai default: output/$(SDK)/$(Configuration)
.
Menentukan tujuan untuk produk yang diekspor dari arsip.
exportOptions
- Opsi Ekspor
string
. Pilihan. Gunakan saat packageTool == xcodebuild
. Nilai yang diizinkan: auto
, plist
, dan specify
. Nilai default: auto
.
Menentukan cara untuk meneruskan Opsi Ekspor saat mengekspor arsip.
exportMethod
- Metode Ekspor
string
. Diperlukan saat exportOptions == specify
. Nilai default: development
.
Menentukan metode yang digunakan Xcode untuk mengekspor arsip. Misalnya, app-store
, package
, ad-hoc
, enterprise
, atau development
.
exportTeamId
- ID Tim
string
. Opsional. Gunakan saat exportOptions == specify
.
Menentukan ID tim 10 digit Portal Pengembang Apple yang akan digunakan untuk ekspor.
exportOptionsPlist
- Opsi Ekspor Plist
string
. Diperlukan saat exportOptions == plist
.
Menentukan jalur ke file plist yang mengonfigurasi ekspor arsip.
xcode8AutomaticSigning
- Penandatanganan Otomatis
boolean
. Nilai default: false
.
Gunakan input ini jika Anda memiliki proyek Xcode 8 atau Xcode 9 yang dikonfigurasi untuk Penandatanganan Otomatis.
teamId
- ID Tim
string
. Opsional. Gunakan saat xcode8AutomaticSigning = true
.
Menentukan ID tim pengembang 10 digit. Ini diperlukan jika Anda adalah anggota dari beberapa tim pengembangan.
signMethod
- Ambil alih Menggunakan
string
. Nilai yang diizinkan: file
(Konten File), id
(Pengidentifikasi). Nilai default: file
.
Gunakan input ini jika build menggunakan metode penandatanganan atau provisi yang berbeda dari default. Pilih File Contents
untuk menggunakan sertifikat P12 dan profil provisi. Pilih Identifiers
untuk mengambil pengaturan penandatanganan dari rantai kunci default dan profil yang telah diinstal sebelumnya. Biarkan bidang terkait kosong jika Anda tidak ingin mengambil alih pengaturan build default.
iosSigningIdentity
- Identitas Penandatanganan
string
. Pilihan. Gunakan saat signMethod = id
.
Menentukan penimpaan identitas penandatanganan yang digunakan untuk menandatangani build. Default ke pengaturan proyek Xcode. Buka Kunci Default Rantai Kunci mungkin perlu dipilih.
unlockDefaultKeychain
- Buka Kunci Default Rantai Kunci
boolean
. Opsional. Gunakan saat signMethod = id
. Nilai default: false
.
Mengatasi interaksi Pengguna tidak diperbolehkan kesalahan dengan membuka kunci rantai kunci default.
defaultKeychainPassword
- Kata Sandi Rantai Kunci Default
string
. Pilihan. Gunakan saat signMethod = id
.
Menentukan kata sandi untuk membuka kunci rantai kunci default.
provProfileUuid
- UUID Profil Provisi
string
. Opsional. Gunakan saat signMethod = id
.
Menentukan UUID profil provisi yang diinstal untuk digunakan untuk build. Gunakan tugas build terpisah dengan skema atau target yang berbeda untuk menentukan profil provisi berdasarkan target dalam satu ruang kerja (iOS, WatchKit, tvOS).
p12
- File Sertifikat P12
string
. Pilihan. Gunakan saat signMethod = file
.
Menentukan jalur relatif ke file sertifikat P12 berformat PKCS12 yang berisi sertifikat penandatanganan yang akan digunakan untuk build.
p12pwd
- Kata Sandi P12
string
. Pilihan. Gunakan saat signMethod = file
.
Menentukan kata sandi ke file sertifikat P12 jika ditentukan. Gunakan variabel build untuk mengenkripsi.
provProfile
- Memprovisikan File Profil
string
. Pilihan. Gunakan saat signMethod = file
.
Menentukan jalur relatif ke file yang berisi penimpaan profil provisi yang akan digunakan untuk build. Gunakan tugas build terpisah dengan skema atau target yang berbeda untuk menentukan profil provisi berdasarkan target dalam satu ruang kerja (iOS, WatchKit, tvOS).
removeProfile
- Hapus Profil Setelah Build
boolean
. Pilihan. Gunakan saat signMethod = file
. Nilai default: false
.
Menghapus konten file profil provisi dari agen build setelah build selesai. Hanya periksa apakah Anda menjalankan satu agen per pengguna.
args
- Argumen
string
.
Menentukan argumen baris perintah tambahan yang digunakan untuk membangun. Input ini berguna jika Anda ingin menggunakan -target
atau -project
alih-alih menentukan ruang kerja dan skema.
cwd
- Direktori Kerja
string
.
Menentukan direktori kerja untuk eksekusi build. Default ke akar repositori.
outputPattern
- Direktori Output
string
. Wajib diisi. Nilai default: output/$(SDK)/$(Configuration)
.
Menentukan jalur relatif tempat output build (biner) ditempatkan.
xcodeDeveloperDir
- Jalur Pengembang Xcode
string
.
Pilihan. Menentukan jalur ke folder Pengembang Xcode jika bukan default sistem. Untuk digunakan saat beberapa versi Xcode diinstal pada sistem. Misalnya: /Applications/Xcode 7.app/Contents/Developer
.
useXcpretty
- Gunakan xcpretty
boolean
. Nilai default: false
.
xcodebuild
Memformat output dan menghasilkan laporan hasil pengujian JUnit. Harus diinstal pada host agen. Pelajari selengkapnya tentang xcpretty.
publishJUnitResults
- Terbitkan ke VSTS/TFS
boolean
. Nilai default: false
.
Hasil pengujian JUnit yang diproduksi menggunakan xctool
dipublikasikan ke VSTS/TFS.
useXctool
- Gunakan xctool
boolean
.
Menggunakan alih-alih xctool
xcodebuild
. Harus diinstal pada host agen. Pelajari selengkapnya tentang xctool.
Catatan:xctool
tidak digunakan lagi dan tidak berfungsi dengan Xcode 8.
xctoolReporter
- Format Wartawan Uji xctool
string
.
Menguji format wartawan untuk digunakan saat tindakan pengujian ditentukan dan Gunakan xctool dicentang. Tentukan untuk menghasilkan format file yang kompatibel dengan tugas Terbitkan junit:output-file-path-here.xml
Hasil Pengujian. Ketika ditentukan, polos secara otomatis ditambahkan. xctool
harus diinstal pada host agen. Pelajari selengkapnya tentang xctool.
Catatan:xctool
tidak digunakan lagi dan tidak berfungsi dengan Xcode 8.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tidak ada.
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Agen yang dihost sendiri harus memiliki kemampuan yang cocok dengan tuntutan berikut untuk menjalankan pekerjaan yang menggunakan tugas ini: xcode |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | Semua versi agen yang didukung. |
Kategori tugas | Build |