Bagikan melalui


Membangun skrip

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Catatan

Skrip build memungkinkan Anda menyesuaikan build Anda; tetapi masalah yang Anda temukan selama proses tersebut berada di luar cakupan dukungan App Center. Jika salah satu skrip Anda gagal, seluruh build akan melaporkan kegagalan, bahkan jika build utama hingga titik tersebut berhasil.

Anda dapat menambahkan skrip build kustom yang berjalan pada tahap yang telah ditentukan sebelumnya selama waktu build: pasca-kloning, pra-build, pasca-build. Tempatkan skrip dengan format yang ditentukan di bawah ini di samping file tingkat proyek (.xcodeproj, , .csproj, .slnatau package.json) file atau tingkat modul (build.gradle) yang telah Anda pilih dalam konfigurasi build dan kami akan menjalankannya sebagai langkah build kustom.

Di App Center, aplikasi non-UWP dibangun di macOS, sehingga dapat menggunakan skrip Bash. Aplikasi UWP dibangun di Windows, sehingga mereka dapat menggunakan skrip PowerShell. Banyak tugas serupa dapat dilakukan dalam salah satu format skrip, tetapi Anda mungkin perlu melakukan beberapa konversi jika bermigrasi di antaranya. Misalnya, macOS Bash memerlukan penggunaan akhir garis gaya UNIX (LF).

Anda dapat menemukan kumpulan contoh skrip build di repositori GitHub publik khusus. Jangan ragu untuk menggunakan skrip sampel, memodifikasinya, atau mengirimkan permintaan pull baru dengan skrip Anda yang paling berguna untuk digunakan oleh seluruh komunitas.

Peringatan

Saat App Center mendeteksi skrip build untuk pertama kalinya, atau Anda mengubah lokasi skrip, atau Anda mengubah tempat CocoaPods disimpan; Anda harus menerapkan perubahan dengan mengklik tombol Simpan atau Simpan & Build dalam konfigurasi build. Saat Anda melakukan ini, App Center menjalankan analisis untuk mengindeks pohon repositori Anda dan memperbarui definisi build.

Simpan skrip yang terdeteksi

Pasca-kloning

Skrip pasca-kloning berjalan segera setelah repositori dikloning tetapi sebelum kita melakukan hal lain di ujung kita.

Untuk menjalankan skrip pasca-kloning, tambahkan file berikut di samping file proyek di repositori Anda:

  • appcenter-post-clone.sh (Bash untuk iOS & Android)

    #!/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 (PowerShell untuk UWP)

Pra-build

Skrip pra-build berjalan sebelum build aktual dimulai. Untuk aplikasi React Native, skrip berjalan sebelum menghasilkan peta sumber. Untuk platform lain, ini berjalan setelah kami menginstal dependensi, misalnya dari NuGet, CocoaPods, atau Carthage.

Untuk menjalankan pra-build skrip, tambahkan file berikut di samping file proyek di repositori Anda:

  • appcenter-pre-build.sh (Bash untuk iOS & Android)

    #!/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 (PowerShell untuk UWP)

Pasca-build

Skrip pasca-build berjalan setelah build selesai dan menyalin semua artefak yang diperlukan ke direktori output. Skrip pasca-build akan berjalan meskipun build gagal.

Untuk menjalankan skrip pasca-build, tambahkan file berikut di samping file proyek di repositori:

  • appcenter-post-build.sh (Bash untuk iOS & Android)

    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 (PowerShell untuk UWP)

Variabel Lingkungan

Anda dapat menggunakan variabel lingkungan yang telah ditentukan sebelumnya, kustom, atau dalam skrip untuk membantu menulis skrip Build Anda, lihat panduan Variabel Lingkungan kami untuk informasi selengkapnya.