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

Derleme veya yayın çalıştırmak için en az bir aracıya ihtiyacınız vardır. 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 bkz . Derleme ve sürüm aracıları.

Android uygulamanızı imzalama

İmzalama sertifikanızı güvenli tutarken Android uygulamanızı imzalamak için bu adımları izleyin.

Keystore dosyasını karşıya yükleme

  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örevi ekleme

Uygulamanızı oluşturan adımdan sonra yaml işlem hattınıza AndroidSigning@3 görevi ekleyin. AndroidSigning@3 Görevde:

  • <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 kitaplığında karşıya yüklenen keystore dosyanızı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 veya Xamarin.iOS 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>Tercihleri>Hesapları'na 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 alma

Uygulamanız otomatik imzalama kullanmıyorsa uygulama sağlama profilinizi Apple Geliştirici portalından indirebilirsiniz. Daha fazla bilgi için bkz . Sağlama profillerini düzenleme, indirme veya silme.

Mac bilgisayarınızda yüklü olan sağlama profillerine erişmek için Xcode'u da kullanabilirsiniz. Xcode'da Xcode>Tercih Hesapları'na> 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 ekleme

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 veya Xamarin.iOS görevinden önce yaml işlem hattınıza InstallAppleCertificate@2 görevi ekleyin. Kodda öğesini karşıya yüklediğiniz .p12 dosyasının adıyla değiştirin<secure-file.p12>. güvenli P12passwordiçin değişkenini 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 veya Xamarin.iOS görevinden önce YAML'nize InstallAppleProvisioningProfile@1 görevi ekleyin. değerini sağlama profili dosyanızın adıyla değiştirin <secure-file.mobileprovision> .

    - task: InstallAppleProvisioningProfile@1
        inputs:
          provProfileSecureFile: '<secure-file.mobileprovision>'
    

    Not

    InstallAppleProvisioningProfile@1 Görevde parametresi removeProfile varsayılan olarak truedeğerini alır ve bu da derlemeden sonra profili kaldırır.

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 daha 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. değerini P12 dosyanızın yolu ve adıyla değiştirin <certificate.p12> . 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, kimlik sonrası gibi (CSSMERR_TP_CERT_REVOKED) 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. değerini sağlama profili dosyanızın yoluyla, öğesini ise uzantısı olmayan sağlama profili dosya adı olan sağlama profili UUID'siyle .mobileprovision değiştirin <profile> <UUID>.

    sudo cp <profile> ~/Library/MobileDevice/Provisioning Profiles/<UUID>.mobileprovision
    

Varsayılan anahtar zincirini kullanan imzalama ve sağlama görevleri ekleme

  • Xcode veya Xamarin.iOS görevinden önce yaml işlem hattınıza InstallAppleCertificate@2 görevi ekleyin. Kodda aşağıdaki değerleri ayarlayın:

    • certSecureFile: Karşıya yüklenen .p12 dosyanızın adı.
    • certPwd: güvenli P12passworddeğişkeni.
    • signingIdentity: İmzalama kimliğinizin tam adı.
    • keychain: default, varsayılan anahtarlığa erişime izin vermek için.
    • keychainPasswordKEYCHAIN_PWD: Değişkeni.
    • deleteCert: false, derlemeler arasında sertifikayı 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:

    • Sağlama profili dosyanızın adına ayarlayın provProfileSecureFile .
    • Profilin derlemeler arasında saklanması için false olarak ayarlayınremoveProfile.
    - 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 veya Xamarin.iOS derleme görevinde güvenli dosyalara başvurma

İşlem hatlarınızdaki güvenli sertifikayı ve profili kullanmak için Xcode veya Xamarin.iOS derleme görevlerinizde aşağıdaki ayarları yapılandırın.

Derleme görevlerindeki güvenli dosya başvuruları ve provisioningProfileUuidiçin signingIdentity 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)'

Xamarin.iOS için:

- task: XamariniOS@2
    inputs:
      solutionFile: '**/*.iOS.csproj'
      signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
      signingProvisioningProfileID: '$(APPLE_PROV_PROFILE_UUID)'

İşlem hattı derleme aracısı artık derleme makinesinde daha fazla sertifika veya profil yönetimi olmadan uygulamanızı güvenli bir şekilde imzalar ve sağlar.

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