Betik oluşturma
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
Not
Derleme betikleri, derlemelerinizi özelleştirmenize olanak sağlar; ancak bu işlem sırasında bulduğunuz sorunlar App Center desteğinin kapsamı dışındadır. Betiklerinizden biri başarısız olursa, bu noktaya kadar olan birincil derleme başarılı olsa bile derlemenin tamamı bir hata bildirir.
Derleme zamanında önceden tanımlanmış aşamalarda çalışan özel derleme betikleri ekleyebilirsiniz: kopyalama sonrası, derleme öncesi, derleme sonrası. Betikleri aşağıda belirtilen biçimde, derleme yapılandırmasında seçtiğiniz proje düzeyi (.xcodeproj
, .csproj
, .sln
veya package.json
) dosyasının veya modül düzeyi (build.gradle
) dosyasının yanına yerleştirin; bunları özel derleme adımları olarak çalıştıracağız.
App Center'da UWP olmayan uygulamalar macOS üzerinde derlenir, böylece Bash betiklerini kullanabilirler. UWP uygulamaları, PowerShell betiklerini kullanabilmeleri için Windows üzerinde derlenir. Benzer görevlerin çoğu betik biçiminde de gerçekleştirilebilir, ancak bunlar arasında geçiş yapıyorsanız bazı dönüştürmeler yapmanız gerekebilir. Örneğin, macOS Bash unix stili satır sonlarının (LF) kullanılmasını gerektirir.
Derleme betiği örneklerinin bir koleksiyonunu ayrılmış genel GitHub deposunda bulabilirsiniz. Topluluğun geri kalanı için örnek betikleri kullanabilir, değiştirebilir veya en kullanışlı betiklerinizle yeni çekme istekleri gönderebilirsiniz.
Uyarı
App Center derleme betiklerini ilk kez algıladığında veya betiklerin konumunu değiştirdiğinizde veya CocoaPods'un depolandığı yeri değiştirdiğinizde; Derleme yapılandırmasında & Kaydet veya Kaydet düğmesine tıklayarak değişiklikleri uygulamanız gerekir. Bunu yaptığınızda App Center, depo ağacınızın dizinini oluşturmak için bir analiz çalıştırır ve derleme tanımını güncelleştirir.
Kopya sonrası
Kopya sonrası betiği, depo kopyalandıktan hemen sonra ancak bizim tarafımızda başka bir şey yapmadan önce çalışır.
Kopyalama sonrası betikleri çalıştırmak için deponuzdaki proje dosyasının yanına aşağıdaki dosyayı ekleyin:
appcenter-post-clone.sh (Android & iOS için Bash)
#!/usr/bin/env bash # Example: Clone a required repository git clone https://github.com/example/SomeProject # Example: Install App Center CLI npm install -g appcenter-cli
appcenter-post-clone.ps1 (UWP için PowerShell)
Derleme öncesi
Derleme öncesi betik, gerçek derleme başlamadan önce çalıştırılır. React Native uygulamalar için betik, kaynak eşlemeleri oluşturmadan önce çalışır. Diğer platformlar için bağımlılıkları yükledikten sonra (örneğin NuGet, CocoaPods veya Carthage) çalışır.
Betikleri önceden derlemeden çalıştırmak için deponuzdaki proje dosyasının yanına aşağıdaki dosyayı ekleyin:
appcenter-pre-build.sh (iOS & Android için Bash)
#!/usr/bin/env bash # Example: Change bundle name of an iOS app for non-production if [ "$APPCENTER_BRANCH" != "main" ]; then plutil -replace CFBundleDisplayName -string "\$(PRODUCT_NAME) Beta" $APPCENTER_SOURCE_DIRECTORY/MyApp/Info.plist fi
appcenter-pre-build.ps1 (UWP için PowerShell)
Derleme sonrası
Derleme sonrası betiği, derleme tamamlandıktan ve gerekli tüm yapıtları çıkış dizinine kopyaladıktan sonra çalışır. Derleme başarısız olsa bile derleme sonrası betiği çalıştırılır.
Derleme sonrası betikleri çalıştırmak için depodaki proje dosyasının yanına aşağıdaki dosyayı ekleyin:
appcenter-post-build.sh (iOS & Android için Bash)
if [ "$AGENT_JOBSTATUS" == "Succeeded" ]; then HOCKEYAPP_API_TOKEN={API_Token} HOCKEYAPP_APP_ID={APP_ID} # Example: Upload main branch app binary to HockeyApp using the API if [ "$APPCENTER_BRANCH" == "main" ]; then curl \ -F "status=2" \ -F "ipa=@$APPCENTER_OUTPUT_DIRECTORY/MyApps.ipa" \ -H "X-HockeyAppToken: $HOCKEYAPP_API_TOKEN" \ https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APP_ID/app_versions/upload else echo "Current branch is $APPCENTER_BRANCH" fi fi
appcenter-post-build.ps1 (UWP için PowerShell)
Ortam Değişkenleri
Derleme betiklerinizi yazmanıza yardımcı olması için önceden tanımlanmış, özel veya betik içi ortam değişkenlerini kullanabilirsiniz. Daha fazla bilgi için Ortam Değişkenleri kılavuzumuza bakın.