Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Perintah Git tersedia untuk alur kerja build di agen yang dihosting Microsoft dan dihost sendiri . Misalnya, setelah build integrasi berkelanjutan (CI) selesai pada cabang fitur, Anda dapat menggabungkan cabang ke utama. Artikel ini menjelaskan cara menjalankan perintah Git di skrip build Azure Pipelines.
Mengaktifkan skrip untuk menjalankan perintah Git
Pastikan GitHub menggunakan identitas default akun Azure DevOps Anda. Jika perlu, atur pengguna GitHub sebagai langkah pertama setelah checkout.
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Memberikan izin ke layanan build
Layanan build proyek harus memiliki izin untuk menulis ke repositori sumber. Atur izin yang diperlukan sebagai berikut:
Di Pengaturan Proyek untuk proyek Anda, pilih Repositori di bawah Repositori.
Pada halaman Semua repositori , pilih Keamanan untuk mengatur izin untuk semua repositori dalam proyek. Atau, pilih repositori tempat Anda ingin menjalankan perintah Git, lalu pilih Keamanan di halaman repositori tersebut.
Pada halaman Izin pengguna , pilih identitas Build Service . Pastikan untuk memilih <nama> proyek Build Service (<organisasi>) di bawah Pengguna, bukan Akun Layanan Build Koleksi Proyek. Secara default, identitas ini dapat membaca dari repositori tetapi tidak dapat mendorong perubahan apa pun ke dalamnya.
Turun bawah daftar dan pilih Izinkan di samping setiap izin yang diperlukan untuk perintah Git yang ingin Anda jalankan, biasanya Buat cabang, Kontribusi, Baca, dan Buat tag.
Perbolehkan skrip mengakses token sistem
Untuk mengizinkan skrip mengakses token GitHub OAuth:
checkout Tambahkan langkah ke alur YAML Anda dengan persistCredentials diatur ke true.
steps:
- checkout: self
persistCredentials: true
Untuk informasi selengkapnya tentang langkah ini checkout , lihat definisinya steps.checkout .
Bersihkan repositori lokal
Alur build tidak secara otomatis membersihkan perubahan tertentu pada repositori lokal, seperti menghapus cabang lokal atau membatalkan perubahan lokal git config . Jika Anda mengalami masalah menggunakan agen yang dihost sendiri, Anda dapat membersihkan repositori sebelum menjalankan build.
Secara umum, untuk performa agen yang dihost sendiri lebih cepat, jangan bersihkan repositori. Pembersihan tidak efektif untuk agen yang dihosting Microsoft, karena mereka menggunakan agen baru setiap kali. Untuk informasi selengkapnya, lihat Membersihkan repositori lokal pada agen.
Untuk membersihkan repositori sebelum Anda menjalankan build:
Atur clean ke true dalam checkout langkah. Opsi ini berjalan git clean -ffdx diikuti oleh git reset --hard HEAD sebelum mengambil.
steps:
- checkout: self
clean: true
Pilih Variabel di editor alur, buat atau ubah Build.Clean variabel, dan atur nilainya ke source.
Contoh perintah Git
Contoh berikut menjalankan perintah Git dalam tugas baris Perintah dan tugas skrip Batch .
Mencantumkan file di repositori Anda
Untuk mencantumkan file di repositori Git, gunakan tugas Baris perintah dalam alur YAML sebagai berikut:
- task: CmdLine@2
inputs:
script: 'git ls-files'
Menggabungkan cabang fitur ke cabang utama
Contoh alur Klasik berikut menggabungkan build main CI jika build berhasil.
Buat file yang disebut merge.bat di akar repositori Anda dengan konten berikut:
@echo off ECHO SOURCE BRANCH IS %BUILD_SOURCEBRANCH% IF %BUILD_SOURCEBRANCH% == refs/heads/main ( ECHO Building main branch so no merge is needed. EXIT ) SET sourceBranch=origin/%BUILD_SOURCEBRANCH:refs/heads/=% ECHO GIT CHECKOUT MAIN git checkout main ECHO GIT STATUS git status ECHO GIT MERGE git merge %sourceBranch% -m "Merge to main" ECHO GIT STATUS git status ECHO GIT PUSH git push origin ECHO GIT STATUS git statusPada tab Pemicu di alur Klasik Anda, pilih kotak centang untuk Mengaktifkan integrasi berkelanjutan.
Di bawah Filter cabang dan Filter jalur, pilih cabang dan jalur untuk Menyertakan atau Mengecualikan dari build.
Tambahkan skrip Batch sebagai tugas terakhir di alur Anda.
Di bawah Jalur dalam konfigurasi tugas, masukkan lokasi dan nama file merge.bat .
FAQ
Dapatkah saya menjalankan perintah Git jika repositori jarak jauh saya berada di GitHub atau layanan Git lain seperti Bitbucket Cloud?
Ya, Anda dapat menjalankan perintah Git jika repositori jarak jauh Anda berada di GitHub atau layanan Git lain seperti Bitbucket Cloud.
Tugas mana yang dapat saya gunakan untuk menjalankan perintah Git?
Anda dapat menggunakan tugas Azure Pipelines berikut untuk menjalankan perintah Git:
- Bash
- Skrip Batch
- Baris Perintah
- PowerShell
- Skrip Shell
Bagaimana cara menghindari pemicu build CI saat skrip mendorong?
Untuk menghindari pemicu build CI saat skrip mendorong, tambahkan [skip ci] ke pesan atau deskripsi penerapan Anda. Contohnya:
git commit -m "This is a commit message [skip ci]"git merge origin/features/hello-world -m "Merge to main [skip ci]"
Anda juga dapat menggunakan salah satu variasi berikut untuk penerapan ke Azure Repos Git, Bitbucket Cloud, GitHub, atau GitHub Enterprise Server:
-
[skip ci]atau[ci skip] -
skip-checks: trueatauskip-checks:true -
[skip azurepipelines]atau[azurepipelines skip] -
[skip azpipelines]atau[azpipelines skip] -
[skip azp]atau[azp skip] ***NO_CI***
Apakah saya memerlukan agen untuk menjalankan alur?
Ya, Anda memerlukan setidaknya satu agen untuk menjalankan alur build atau rilis Anda.
Bagaimana cara memecahkan masalah?
Lihat Memecahkan masalah eksekusi alur.
Bagaimana cara memperbaiki tidak dapat memilih kumpulan agen default atau mengantre eksekusi alur saya?
Lihat Membuat dan mengelola kumpulan agen.
Bagaimana cara memperbaiki tugas dorongan NuGet saya yang gagal dengan "Kesalahan: tidak bisa mendapatkan sertifikat penerbit lokal"?
Anda dapat memperbaiki masalah ini dengan menambahkan sertifikat akar tepercaya.
NODE_EXTRA_CA_CERTS=file Tambahkan variabel lingkungan ke agen build Anda, atau tambahkan NODE.EXTRA.CA.CERTS=file variabel tugas di alur Anda.
Untuk informasi selengkapnya tentang variabel ini, lihat NODE_EXTRA_CA_CERTS=file dalam dokumentasi Node.js. Untuk petunjuk tentang mengatur variabel di alur Anda, lihat Mengatur variabel dalam alur.
Mengapa saya tidak melihat beberapa fitur ini di Azure DevOps Server lokal saya?
Beberapa fitur ini hanya tersedia di Azure DevOps Services dan tidak tersedia untuk Azure DevOps Server lokal. Beberapa fitur hanya tersedia di versi terbaru Azure DevOps Server.