Aracılığıyla paylaş


Mobil uygulamayı imzalama

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

  1. İ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.

  2. 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ğer trueolan 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

  1. 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:

      1. Xcode Tercihler Hesaplar bölümüne gidin.

      2. Sol sütunda Apple kimliğinizi seçin.

      3. Sağ tarafta kişisel hesabınızı veya ekip hesabınızı seçin ve Sertifikaları Yönet'i seçin.

      4. Ctrl+Dışarı aktarmak istediğiniz sertifikayı seçin ve menüden Sertifikayı dışarı aktar'ı seçin.

        Xcode kullanarak sertifikayı dışarı aktarma işleminin ekran görüntüsü.

      5. İ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.

  2. 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.

  3. İş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 olan P12password için değişkeni kullanın.

    - task: InstallAppleCertificate@2
        inputs:
          certSecureFile: '<secure-file.p12>'
          certPwd: '$(P12password)'
    

    Not

    InstallAppleCertificate@2 Görevde parametresi deleteCert varsayılan olarak truedeğ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 olarak true 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

  1. 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>
    
  2. İş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

  1. bir macOS Terminal penceresi açıp girerek security find-identity -v -p codesigningimzalama kimliğinizin tam adını bulun. biçiminde iPhone 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.

  2. 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üvenli P12password 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.

Aşağıdakiler hakkında daha fazla bilgi için: