Aracılığıyla paylaş


Betikte Git komutlarını çalıştırma

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Bazı iş akışlarında Git komutlarını çalıştırmak için derleme işlem hattınıza ihtiyaç duyarsınız. Örneğin, bir özellik dalı üzerinde CI derlemesi tamamlandıktan sonra, ekip bu dalı ana dal ile birleştirmek isteyebilir.

Git, Microsoft tarafından barındırılan aracılarda ve şirket içi aracılarda kullanılabilir.

Git komutlarını çalıştırmak için betikleri etkinleştirme

Not

Başlamadan önce hesabınızın varsayılan kimliğinin aşağıdaki kodla ayarlandığından emin olun. Bu, kodunuzu kullanıma aldıktan sonraki ilk adım olarak yapılmalıdır.

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

Derleme hizmetine sürüm denetimi izinleri verme

  1. Kuruluş Ayarlar> Genel>Projeler'de kuruluşunuzun proje ayarları sayfasına gidin.

    Kuruluş ayarlarınızı seçin.

  2. Düzenlemek istediğiniz projeyi seçin.

    Projenizi seçin.

  3. Project Ayarlar içinde Depolar'ı seçin. Git komutlarını çalıştırmak istediğiniz depoyu seçin.

  4. Depo güvenliğinizi düzenlemek için Güvenlik'i seçin.

    Depo güvenliğinizi düzenlemek için Güvenlik'i seçin.

  5. Proje Koleksiyonu Derleme Hizmeti'ne bakın. {{proje adınız}} Derleme Hizmeti ({kuruluşunuz}) kimliğini seçin (Proje Koleksiyonu Derleme Hizmeti Hesapları ({kuruluşunuz}) grubunu seçin. Varsayılan olarak, bu kimlik depodan okuyabilir ancak herhangi bir değişikliği geri gönderemez. Çalıştırmak istediğiniz Git komutları için gereken izinleri verin. Genellikle şu izinleri vermek istersiniz:

    • Dal oluşturma: İzin ver
    • Katkıda Bulunma: İzin Ver
    • Okuma: İzin Ver
    • Etiket oluşturma: İzin ver

Sürüm Denetimi denetim masası sekmesine gidin

  • Azure Depoları: https://dev.azure.com/{your-organization}/{your-project}/_admin/_versioncontrol

  • Şirket içi: https://{your-server}:8080/tfs/DefaultCollection/{your-project}/_admin/_versioncontrol

projeyi yönetme

Bu sayfayı görürseniz depoyu seçin ve ardından bağlantıyı seçin:

denetim masası üstten projeye

denetim masası proje sürümü denetim sekmesi

Sürüm Denetimi sekmesinde Git komutlarını çalıştırmak istediğiniz depoyu seçin ve ardından Proje Koleksiyonu Derleme Hizmeti'ni seçin. Varsayılan olarak, bu kimlik depodan okuyabilir ancak herhangi bir değişikliği geri gönderemez.

izinler

Çalıştırmak istediğiniz Git komutları için gereken izinleri verin. Genellikle şu izinleri vermek istersiniz:

  • Dal oluşturma: İzin ver
  • Katkıda Bulunma: İzin Ver
  • Okuma: İzin Ver
  • Etiket oluşturma: İzin ver

İzinleri verme işlemini tamamladığınızda Değişiklikleri kaydet'i seçtiğinizden emin olun.

Betiklerin sistem belirtecine erişmesine izin ver

olarak ayarlanmış truebir checkout bölüm persistCredentials ekleyin.

steps:
- checkout: self
  persistCredentials: true

hakkında checkoutdaha fazla bilgi edinin.

Seçenekler sekmesinde, Betiklerin OAuth belirtecine erişmesine izin ver'i seçin.

Yerel depoyu temizlemeyi unutmayın

Yerel depodaki bazı değişiklik türleri derleme işlem hattı tarafından otomatik olarak temizlenmez. Bu nedenle, şu şekilde olduğundan emin olun:

  • Oluşturduğunuz yerel dalları silin.
  • Git yapılandırma değişikliklerini geri alma.

Şirket içi aracı kullanarak sorunlarla karşılaşırsanız deponun temiz olduğundan emin olun:

olarak ayarlandığından cleantrueemin checkout olun.

steps:
- checkout: self
  clean: true

Örnekler

Deponuzdaki dosyaları listeleme

Derleme sekmesinde şu görevi ekleyin:

Görev Bağımsız değişkenler

Yardımcı Program: Komut Satırı
Git deposundaki dosyaları listeleyin.
Araç: git

Bağımsız değişkenler: ls-files

Özellik dallarını main ile birleştirme

Derleme başarılı olursa ci derlemesinin main ile birleştirilmesini istiyorsunuz.

Tetikleyiciler sekmesinde Sürekli tümleştirme (CI) öğesini seçin ve oluşturmak istediğiniz dalları ekleyin.

Deponuzun kökünde oluşturun merge.bat :

@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 status

Derleme sekmesinde bunu son görev olarak ekleyin:

Görev Bağımsız değişkenler

Yardımcı Program: Batch Betiği
merge.bat çalıştırın.
Yol: merge.bat

SSS

Uzak depom GitHub'da veya Bitbucket Cloud gibi başka bir Git hizmetindeyse Git komutlarını çalıştırabilir miyim?

Yes

Git komutlarını çalıştırmak için hangi görevleri kullanabilirim?

Batch Script

Komut Satırı

PowerShell

Shell Script

Betik gönderildiğinde CI derlemesini tetiklemekten Nasıl yaparım? kaçının?

İşleme iletinize ekleyin ***NO_CI*** . Örnekler aşağıdadır:

  • git commit -m "This is a commit message ***NO_CI***"
  • git merge origin/features/hello-world -m "Merge to main ***NO_CI***"

İşleme iletinize veya açıklamanıza ekleyin [skip ci] . Örnekler aşağıdadır:

  • 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 ve GitHub Enterprise Server işlemeleri için bu çeşitlemelerden herhangi birini de kullanabilirsiniz.

  • [skip ci] veya [ci skip]
  • skip-checks: true veya skip-checks:true
  • [skip azurepipelines] veya [azurepipelines skip]
  • [skip azpipelines] veya [azpipelines skip]
  • [skip azp] veya [azp skip]
  • ***NO_CI***

Bir temsilciye ihtiyacım var mı?

Derlemenizi veya yayınınızı çalıştırmak için en az bir aracıya ihtiyacınız vardır.

Sorun yaşıyorum. Nasıl sorun giderebilirim?

Bkz. Derleme ve Yayın Sorunlarını Giderme.

Varsayılan aracı havuzunu seçemiyorum ve derlememi veya sürümümü kuyruğa alamıyorum. Bunu nasıl düzeltirim?

Bkz. Aracı havuzları.

NuGet gönderme görevim şu hatayla başarısız oluyor: "Hata: yerel veren sertifikası alınamıyor". Bunu nasıl düzeltebilirim?

Bu, güvenilen bir kök sertifika eklenerek düzeltilebilir. Derleme aracınıza NODE_EXTRA_CA_CERTS=file ortam değişkenini veya işlem hattınıza NODE.EXTRA.CA.CERTS=file görev değişkenini ekleyebilirsiniz. Bu değişken hakkındaki diğer ayrıntılar için bkz. Node.js belgeleri. İşlem hattınızda değişken ayarlama yönergeleri için bkz. İşlem hattında değişkenleri ayarlama.

Şirket içinde TFS kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden?

Bu özelliklerden bazıları yalnızca Azure Pipelines'da kullanılabilir ve henüz şirket içinde kullanılamaz. TFS'nin en son sürümüne yükselttiyseniz bazı özellikler şirket içinde kullanılabilir.