Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Git komutları, Microsoft tarafından barındırılan ve şirket içinde barındırılan aracılarda derleme iş akışları için kullanılabilir. Örneğin, bir özellik dalında sürekli entegrasyon (CI) derlemesi tamamlandıktan sonra bu dalı main ile birleştirebilirsiniz. Bu makalede, Azure Pipelines derleme betiklerinde Git komutlarının nasıl çalıştırılacakları açıklanmaktadır.
Git komutlarını çalıştırmak için betikleri etkinleştirin
GitHub'ın Azure DevOps hesabınızın varsayılan kimliğini kullandığına emin olun. Gerekirse, Github kullanıcısını checkout işleminden sonraki ilk adım olarak ayarlayın.
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Derleme hizmetine izin verme yetkisi tanıma
Proje derleme hizmetinin kaynak depoya yazma izinleri olmalıdır. Gerekli izinleri aşağıdaki gibi ayarlayın:
Projenizin Proje Ayarları'ndaRepos altında Depolar'ı seçin.
Projedeki tüm depoların izinlerini ayarlamak için Tüm depolar sayfasında Güvenlik'i seçin. Alternatif olarak, Git komutlarını çalıştırmak istediğiniz depoyu seçin ve ardından bu deponun sayfasında Güvenlik'i seçin.
Kullanıcı izinleri sayfasında Derleme Hizmeti kimliğini seçin. < altında >'nı değil, <'ni seçtiğinizden emin olun. Varsayılan olarak, bu kimlik depodan okuyabilir ancak hiçbir değişiklik gönderemez.
Listeyi açın ve çalıştırmak istediğiniz Git komutları için gereken her iznin yanındaki İzin Ver'i seçin; genellikle Dal oluştur, Katkıda Bulun, Oku ve Etiket oluştur'u seçin.
Betiklerin sistem simgesine erişmesine izin ver
Betiklerin GitHub OAuth belirtecine erişmesine izin vermek için:
YAML işlem hattınıza checkout olarak ayarlanmış persistCredentialsbir true adım ekleyin.
steps:
- checkout: self
persistCredentials: true
checkout adımı hakkında daha fazla bilgi için steps.checkout tanımına bakın.
Yerel depoyu temizle
Derleme işlem hattı, yerel depodaki yerel dalları silme veya yerel değişiklikleri geri alma git config gibi bazı değişiklikleri otomatik olarak temizlemez. Kendi barındırılan aracı kullanarak sorunlarla karşılaşırsanız, derlemeyi çalıştırmadan önce depoyu temizleyebilirsiniz.
Genel olarak, kendi kendine barındırılan aracıların daha hızlı performansı için depoyu temizlemeyin. Temizleme, Microsoft tarafından barındırılan aracılar için etkili değildir çünkü her seferinde yeni bir aracı kullanırlar. Daha fazla bilgi için Aracıdaki yerel depoyu temizleme sayfasına bakın.
Derlemeyi çalıştırmadan önce kod deposunu temizlemek için:
clean adımında true, checkout olarak ayarlayın. Bu seçenek, getirmeden önce git clean -ffdx ardından git reset --hard HEAD çalıştırır.
steps:
- checkout: self
clean: true
İşlem hattı düzenleyicisinde Değişkenler'i seçin, değişkeni oluşturun veya değiştirin Build.Clean ve değerini olarak sourceayarlayın.
Git komut örnekleri
Aşağıdaki örneklerde, bir Komut satırı görevi ve bir Batch script görevi içinde Git komutları çalıştırılır.
Deponuzdaki dosyaları listeleme
Git deposundaki dosyaları listelemek için YAML işlem hattında Komut satırı görevini aşağıdaki gibi kullanın:
- task: CmdLine@2
inputs:
script: 'git ls-files'
Özellik dalını main ile birleştir
Aşağıdaki Klasik işlem hattı örneği, derleme başarılı olursa CI derlemesini main ile birleştirir.
Deponuzun kökünde aşağıdaki içeriklerle merge.bat adlı bir dosya oluşturun:
@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 statusKlasik işlem hattınızın Tetikleyiciler sekmesinde Sürekli tümleştirmeyi etkinleştir onay kutusunu seçin.
Dal filtreleri ve Yol filtreleri'nin altında, Derlemeye Dahil Et veya Dışla olarak dalları ve yolları seçin.
İşlem hattınızda son görev olarak bir Batch betiği ekleyin.
Görev yapılandırmasındaki Yol'un altında ,merge.bat dosyasının konumunu ve adını girin.
Sıkça Sorulan Sorular
Uzak depom GitHub'da veya Bitbucket Cloud gibi başka bir Git hizmetindeyse Git komutlarını çalıştırabilir miyim?
Evet, uzak deponuz GitHub'da veya Bitbucket Cloud gibi başka bir Git hizmetindeyse Git komutlarını çalıştırabilirsiniz.
Git komutlarını çalıştırmak için hangi görevleri kullanabilirim?
Git komutlarını çalıştırmak için aşağıdaki Azure Pipelines görevlerini kullanabilirsiniz:
Betik gönderildiğinde CI derlemesini tetiklemekten nasıl kaçınabilirim?
Betik çalıştırıldığında CI derlemesini tetiklememek için göndereceğiniz iletinin veya açıklamanın içerisine [skip ci] ekleyin. Örneğin:
git commit -m "This is a commit message [skip ci]"git merge origin/features/hello-world -m "Merge to main [skip ci]"
Azure Repos Git, Bitbucket Cloud, GitHub veya GitHub Enterprise Server işlemeleri için aşağıdaki çeşitlemelerden herhangi birini de kullanabilirsiniz:
-
[skip ci]veya[ci skip] -
skip-checks: trueveyaskip-checks:true -
[skip azurepipelines]veya[azurepipelines skip] -
[skip azpipelines]veya[azpipelines skip] -
[skip azp]veya[azp skip] ***NO_CI***
İşlem hatlarını çalıştırmak için bir aracıya ihtiyacım var mı?
Evet, derleme veya yayın işlem hattınızı çalıştırmak için en az bir aracıya ihtiyacınız vardır.
Sorunları nasıl giderebilirim?
Bkz . İşlem hattı çalıştırma sorunlarını giderme.
Varsayılan bir aracı havuzu seçememeyi veya işlem hattı çalıştırmamı kuyruğa almama sorununu nasıl düzeltebilirim?
Bkz. Aracı havuzları oluşturma ve yönetme.
"‘Hata: yerel sertifika sağlayıcısı alınamıyor’ hatasıyla başarısız olan NuGet yükleme görevimi nasıl düzeltebilirim?"
Güvenilen bir kök sertifika ekleyerek bu sorunu düzeltebilirsiniz. Ortam değişkenini NODE_EXTRA_CA_CERTS=file derleme aracınıza veya görev değişkenini NODE.EXTRA.CA.CERTS=file işlem hattınıza ekleyin.
Bu değişken hakkında daha fazla bilgi için Node.js belgelerindeki NODE_EXTRA_CA_CERTS=file bölümüne bakın. İşlem hattınızda değişken ayarlama yönergeleri için bkz. İşlem hattında değişkenleri ayarlama.
Şirket içi Azure DevOps Server'ımda bu özelliklerden bazılarını neden göremiyorum?
Bu özelliklerden bazıları yalnızca Azure DevOps Services'te kullanılabilir ve şirket içi Azure DevOps Server'da kullanılamaz. Bazı özellikler yalnızca Azure DevOps Server'ın en son sürümünde kullanılabilir.