Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Android veya Apple işletim sistemleri için bir mobil uygulama imzalamak ve sağlamak için imzalama sertifikalarını ve Apple sağlama profillerini yönetmeniz gerekir. Bu makalede, Azure Pipelines'da uygulamanızı imzalamak ve sağlamak için sertifikaları ve profilleri güvenli bir şekilde yönetme adımları açıklanmaktadır.
Not
Bir derleme veya sürüm çalıştırmak için en az bir aracıya ihtiyacınız var. Microsoft tarafından barındırılan bir Linux, macOS veya Windows derleme aracısı kullanabilir veya kendi aracınızı ayarlayabilirsiniz. Daha fazla bilgi için Derleme ve yayın aracıları bölümüne bakın.
Android uygulamanızı imzalama
İmzalama sertifikanızı güvenli tutarken Android uygulamanızı imzalamak için bu adımları izleyin.
Keystore dosyasını yükleyin
İmzalama sertifikanızı içeren bir keystore dosyası alın. Android belgelerinde bir keystore dosyası ve buna karşılık gelen anahtar oluşturma işlemi açıklanmaktadır.
Azure Pipelines'da Kitaplıklar>Güvenli dosyalar'a gidin. + Güvenli dosya'ya tıklayın ve keystore dosyanızı güvenli dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında anahtar deponuz şifrelenir ve güvenli bir şekilde depolanır.
İşlem hattına imzalama görevini ekle
Uygulamanızı oluşturan adımdan sonra yaml işlem hattınıza AndroidSigning@3 görevi ekleyin. Görev AndroidSigning@3
içinde:
-
<apkFiles>
gereklidir ve imzalanacak APK dosyalarının yolu ve adlarıdır. Varsayılan değer:**/*.apk
. -
<apksign>
varsayılan değertrue
olan olmalıdır. -
<keystore-file>
, güvenli dosyalar kütüphanesinde yüklediğiniz keystore dosyasının adıdır. -
<apksignerKeystorePassword>
şifrelenmemiş keystore dosyasının parolasıdır. -
<apksignerKeystoreAlias>
, imzalama sertifikasının anahtar diğer adıdır. -
<apksignerKeyPassword>
, belirtilen diğer adla ilişkilendirilmiş anahtarın parolasıdır.
YAML'de değişkenleri ayarlayabilir ve kullanabilir veya Azure Pipelines kullanıcı arabirimindeki Değişkenler sekmesini kullanarak değişkenleri ayarlayabilir ve YAML'de bunlara başvurabilirsiniz.
variables:
keystore-password: <keystore file password>
key-alias: <key alias for the signing certificater>
key-password: <password for the key associated with the alias>
steps:
- task: AndroidSigning@3
displayName: 'Signing and aligning APK file(s) **/*.apk'
inputs:
apkFiles: '**/*.apk'
apksign: true
apksignerKeystoreFile: <keystore-filename.keystore>
apksignerKeystorePassword: $(keystore-password)
apksignerKeystoreAlias: $(key-alias)
apksignerKeyPassword: $(key-password)
Artık herhangi bir derleme aracısı, derleme makinesinde herhangi bir sertifika yönetimi olmadan uygulamanızı güvenli bir şekilde imzalayabilir.
Apple iOS, macOS, tvOS veya watchOS uygulamanızı imzalama
Uygulamanızı imzalamak ve sağlamak için Xcode derlemenizin P12 imzalama sertifikanıza ve bir veya daha fazla sağlama profiline erişmesi gerekir. Aşağıdaki adımlarda bu dosyaların nasıl edin yapılacağı açıklanmaktadır.
P12 imzalama sertifikanızı alma
Geliştirme veya dağıtım imzalama sertifikanızı Xcode veya macOS'ta Anahtarlık Erişimi uygulamasını kullanarak bir .p12 dosyasına aktarın.
Xcode kullanarak dışarı aktarmak için:
Xcode Tercihler Hesaplar bölümüne gidin.
Sol sütunda Apple kimliğinizi seçin.
Sağ tarafta kişisel hesabınızı veya ekip hesabınızı seçin ve Sertifikaları Yönet'i seçin.
Ctrl+Dışarı aktarmak istediğiniz sertifikayı seçin ve menüden Sertifikayı dışarı aktar'ı seçin.
İletişim kutusuna sertifika adını, dosyayı kaydedecek konumu ve sertifikanın güvenliğini sağlamak için bir parola girin.
Alternatif olarak, macOS'ta AnahtarLık Erişimi uygulamasını kullanarak benzer bir işlemi izlemek veya Windows'ta bir imzalama sertifikası oluşturmak için iOS İmzalama'da açıklanan yordamı kullanın.
P12 dosyanızı Azure Pipelines güvenli dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında sertifikanız şifrelenir ve güvenli bir şekilde depolanır.
İşlem hattınızda Değişkenler sekmesine gidin ve değer olarak sertifika parolanızı içeren P12password adlı bir değişken ekleyin. Parolanızın güvenliğini sağlamak ve günlüklerde gizlemek için kilit simgesini seçtiğinizden emin olun.
Sağlama profilinizi edinin
Uygulamanız otomatik imzalama kullanmıyorsa uygulama sağlama profilinizi Apple Geliştirici portalından indirebilirsiniz. Daha fazla bilgi için, Sağlama profillerini düzenleme, indirme veya silme konusuna bakın.
Mac bilgisayarınızda yüklü olan sağlama profillerine erişmek için Xcode'u da kullanabilirsiniz. Xcode'da XcodeTercihlerHesaplar'a gidin. Apple Kimliğinizi ve ekibinizi seçin ve ardından El ile Profilleri İndir'i seçin.
Azure Pipelines'da sağlama profilinizi güvenli dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında dosyanız şifrelenir ve güvenli bir şekilde depolanır.
İşlem hattına imzalama ve sağlama görevlerini ekleyin
Uygulamanızı imzalamak ve sağlamak için, her derleme sırasında sertifikayı ve profili yükleyebilir veya dosyaları bir macOS derleme aracısına önceden yükleyebilirsiniz.
Her derleme sırasında sertifikayı ve profili yükleme
Her derleme sırasında, örneğin barındırılan macOS aracılarını kullanırken, derleme aracısına kalıcı erişiminiz olmadığında sertifikayı ve profili yükleyin. P12 sertifikası ve sağlama profili derlemenin başında yüklenir ve derleme tamamlandığında kaldırılır.
Xcode görevinden önce InstallAppleCertificate@2 görevi YAML işlem hattınıza ekleyin. Kodda,
<secure-file.p12>
öğesini yüklediğiniz .p12 dosyasının adıyla değiştirin. Güvenli olanP12password
için değişkeni kullanın.- task: InstallAppleCertificate@2 inputs: certSecureFile: '<secure-file.p12>' certPwd: '$(P12password)'
Not
InstallAppleCertificate@2
Görevde parametresideleteCert
varsayılan olaraktrue
değerini alır ve bu da derlemeden sonra sertifikayı kaldırır.Xcode görevinden önce yaml'nize InstallAppleProvisioningProfile@1 görevi ekleyin. Değiştir
<secure-file.mobileprovision>
ile sağlama profili dosyanızın adını.- task: InstallAppleProvisioningProfile@1 inputs: provProfileSecureFile: '<secure-file.mobileprovision>'
Not
InstallAppleProvisioningProfile@1
görevinde,removeProfile
parametresi varsayılan olaraktrue
değerini alır ve bu, derlemeden sonra profilin kaldırılmasına neden olur.
Artık herhangi bir derleme aracısı, derleme makinesinin kendisinde herhangi bir sertifika veya profil yönetimi olmadan uygulamanızı güvenli bir şekilde imzalayabilir.
Sertifikayı ve profili macOS derleme aracısı üzerine önceden yükleme
Derleme sırasında imzalama sertifikasını ve sağlama profillerini yüklemek yerine, bunları bir macOS derleme aracısında önceden yükleyebilirsiniz. Dosyalar bundan sonra derlemeler tarafından kullanılmaya devam edilebilir. Bu yöntemi yalnızca aracı makinede macOS anahtar zincirine erişimi olan kişilere ve işlemlere güveniyorsanız kullanın.
P12 sertifikasını önceden yükleme
P12 sertifikasını varsayılan anahtarlığa yüklemek için, derleme aracısı üzerindeki bir macOS Terminal penceresinden aşağıdaki komutu çalıştırın.
<certificate.p12>
ifadesini P12 dosyanızın yolu ve adıyla değiştirin. değerini P12 dosyanızın şifreleme parolası ile değiştirin<password>
.sudo security import <certificate.p12> -P <password>
İşlem hattınıza KEYCHAIN_PWD adlı yeni bir değişken ekleyin. Değeri varsayılan anahtarlığa parola olarak ayarlayın. Bu, normalde aracıyı başlatan kullanıcının parolasıdır. Bu parolanın güvenliğini sağlamak için kilit simgesini seçtiğinizden emin olun.
Sağlama profilini önceden yükleme
bir macOS Terminal penceresi açıp girerek
security find-identity -v -p codesigning
imzalama kimliğinizin tam adını bulun. biçimindeiPhone Developer/Distribution: Developer Name (ID)
imza kimliklerinin listesini görürsünüz. Kimlik geçersizse, kimliğin ardından(CSSMERR_TP_CERT_REVOKED)
gibi bir şey görürsünüz.Sağlama profilini aracı makinesine yüklemek için bir macOS Terminal penceresinden aşağıdaki komutu çalıştırın.
<profile>
değerini sağlama profili dosyanızın yoluyla ve<UUID>
değerini, uzantısı.mobileprovision
olmayan sağlama profili dosya adı olan sağlama profili UUID'siyle değiştirin.sudo cp <profile> ~/Library/MobileDevice/Provisioning Profiles/<UUID>.mobileprovision
Varsayılan anahtar zincirini kullanan imzalama ve sağlama görevleri ekleme
Xcode görevinden önce InstallAppleCertificate@2 görevi YAML işlem hattınıza ekleyin. Kodda aşağıdaki değerleri ayarlayın:
-
certSecureFile
: Yüklediğiniz .p12 dosyasının adı. -
certPwd
: güvenliP12password
değişkeni. -
signingIdentity
: İmzalama kimliğinizin tam adı. -
keychain
:default
, varsayılan anahtarlığa erişime izin vermek için. -
keychainPassword
KEYCHAIN_PWD
: Değişkeni. -
deleteCert
:false
, sertifikayı derlemeler arasında korumak için.
- task: InstallAppleCertificate@2 inputs: certSecureFile: '<secure-file.p12>' certPwd: '$(P12password)' signingIdentity: <full-signing-identity> keychain: default keychainPassword: `$(KEYCHAIN_PWD) deleteCert: false
-
InstallAppleProvisioningProfile@1 görevini ekleyin. Kodda:
-
provProfileSecureFile
öğesini sağlama profili dosyanızın adı olarak ayarlayın. - Profilin derlemeler arasında saklanması için
removeProfile
olarak ayarlayınfalse
.
- task: InstallAppleProvisioningProfile@1 inputs: provProfileSecureFile: '<secure-file.mobileprovision>' removeProfile: false
-
macOS derleme aracısı artık daha fazla sertifika veya profil yönetimi olmadan uygulamanızı güvenli bir şekilde imzalayabilir ve tüm derlemeler için sağlayabilir.
Xcode derleme görevinde güvenli dosyalara başvurma
İşlem hatlarınızdaki güvenli sertifikayı ve profili kullanmak için Xcode derleme görevlerinizde aşağıdaki ayarları yapılandırın.
Derleme görevlerindeki güvenli dosya başvuruları, signingIdentity
ve provisioningProfileUuid
için değişkenleri kullanır. Bu değişkenler, seçtiğiniz sertifika ve sağlama profili için Apple Sertifikasını Yükle ve Apple Sağlama Profili Yükle görevleri tarafından otomatik olarak ayarlanır.
Xcode için:
- task: Xcode@5
inputs:
signingOption: 'manual'
signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
İşlem hattı derleme aracısı artık derleme makinesinde daha fazla sertifika veya profil yönetimi gerektirmeden uygulamanızı güvenli bir şekilde imzalar ve etkinleştirir.
İlgili içerik
Aşağıdakiler hakkında daha fazla bilgi için:
- Android uygulamaları için işlem hatları, bkz . Android uygulamalarını derleme, test etme ve dağıtma.
- iOS uygulamaları için boru hatları hakkında bilgi için Xcode uygulamalarını derleme, test etme ve dağıtma kısmına bakınız.
- Aracılar için bkz. Azure Pipelines aracıları.
- Aracı havuzları ve kuyrukları, bkz Aracı havuzları oluşturma ve yönetme.
- İşlem hatlarındaki değişkenler için bkz Değişkenleri tanımlama.
- İşlem hattı sorunlarını giderme, bkz İşlem hattı çalıştırmalarındaki sorunları giderme.