GitHub Actions ile iOS Build Pipeline Nasıl Hazırlanır?

0 Antworten 3 Aufrufe
Bewertende
Teilnehmer
Themenersteller #1
Giriş
iOS uygulamalarının geliştirme ve dağıtım sürecinde otomasyon kritik bir yer tutar. GitHub Actions, bu noktada devreye girerek, kod değişikliklerini otomatik olarak derleyen, test eden ve dağıtan bir pipeline kurmanıza olanak sağlar. Bu yazıda, macOS tabanlı ortamda çalışan GitHub Actions kullanarak iOS uygulaması için temel bir build pipeline nasıl oluşturulur, detaylarıyla anlatacağım.

Hazırlık ve Temel Gereksinimler
İlk olarak, Apple Developer hesabınız ve uygun sertifikalarınızın (Development ve Distribution) olması gerekir. Ayrıca, uygulamanızın provisioning profile'ı ve uygun Apple ID ile giriş yapmış olmanız zorunludur. GitHub repository'nize gizli ortam değişkenleri (Secrets) eklemeniz lazım:
  • APPLE_ID
  • APPLE_PASSWORD
  • CERTIFICATE (Base64 kodlu sertifika)
  • PROVISIONING_PROFILE (Base64 kodlu profil)

    Workflow Dosyasını Oluşturma
    .github/workflows dizinine yeni bir YAML dosyası ekleyerek başlarsınız. Bu dosyada, aşağıdaki adımlar yer almalı:

    1. Trigger Tanımı

    Genellikle, push veya pull request ile tetiklenir:
    CODE
    12yaml  
    on: [push, pull_request]  
    


    1. İş Tanımı ve Ortam

    Yalnızca macOS ortamında çalışacak şekilde tanımlanır:
    CODE
    1234yaml  
    jobs:  
      build_ios:  
        runs-on: macos-latest  
    


    1. Adımlar ve Komutlar

    • Gerekli araçların yüklenmesi ve sertifika/bilgi ayarları
    • Sertifikanın makineye yüklenmesi ve bağlantıların ayarlanması
    • Xcode projesinin derlenmesi, testlerin çalıştırılması ve IPA dosyasının oluşturulması


    Örnek temel adımlar:
    CODE
    12345678910111213141516171819202122232425262728293031yaml  
    steps:  
    [list]
    [*]name: Checkout repository
    [/list]
      uses: actions/checkout@v2  
    
    [list]
    [*]name: Set up certificates
    [/list]
      run: |  
        echo "$CERTIFICATE" | base64 --decode > certificate.p12  
        security create-keychain -p actions actions.keychain  
        security import certificate.p12 -k ~/Library/Keychains/login.keychain -P "" -T /usr/bin/codesign  
        security list-keychains -s ~/Library/Keychains/login.keychain  
        security unlock-keychain -p actions ~/Library/Keychains/login.keychain  
    
    [list]
    [*]name: Install dependencies (CocoaPods)
    [/list]
      run: pod install  
    
    [list]
    [*]name: Build IPA
    [/list]
      run: xcodebuild -workspace YourApp.xcworkspace -scheme YourScheme -sdk iphoneos -configuration AppStore archive -archivePath $PWD/build/YourApp.xcarchive  
    [list]
    [*]name: Export IPA
    [/list]
      run: xcodebuild -exportArchive -archivePath $PWD/build/YourApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath $PWD/build  
    
    


    İleri Düzey ve Güvenlik Konuları
    Sertifika ve provisioning profile'ı güvenli tutmak için, Base64 kodlaması ve Secrets kullanımı önerilir. Ayrıca, otomasyon sırasında kod imzalama ve testlerin düzgün çalışması için Xcode ve macOS güncel tutulmalı. CI/CD sürecine otomatik dağıtım (TestFlight veya App Store) eklemek de mümkündür.

    Bu temel yapılandırma, iOS uygulama geliştirme sürecinde otomasyonun ilk adımıdır. İleri seviye ihtiyaçlar ve özelleştirmeler için, adımların detaylandırılması ve farklı ortam ayarlarıyla genişletilmesi gerekir.
  • Sie müssen angemeldet sein, um zu antworten.

    0 Zitate ausgewählt