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

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatlarıtanımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak adlandırılır.

Bazı iş akışları için, git komutlarını çalıştırmak için derleme işlem hattınızı kullanmanız gerekir. Örneğin, bir özellik dalında bir CI oluşturma işlemi yapıldıktan sonra, takım dalı ana ile birleştirmek isteyebilir.

Git, Microsoft tarafından barındırılan aracılardan ve şirket içi aracılardabulunur.

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

Not

Başlamadan önce, hesabınızın varsayılan kimliğinin şu şekilde ayarlandığından emin olun:

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

Yapı hizmeti için sürüm denetimi izinleri verme

  1. kuruluş Ayarlargenelprojeler' 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 Ayarlariçinde depolar' ı seçin. Git komutlarını çalıştırmak istediğiniz depoyu seçin.

  4. Depo güvenlerinizi düzenlemek için güvenlik ' i seçin.

    Depo güvenlerinizi düzenlemek için Güvenlik ' i seçin.

  5. Project koleksiyonu derleme hizmetiaraması yapın. kimlik Project koleksiyon derleme hizmeti 'ni ({kuruluşunuz})seçin. Varsayılan olarak, bu kimlik depodan okuyabilir, ancak geri hiçbir değişiklik gönderemiyor. Çalıştırmak istediğiniz git komutları için gerekli izinleri verin. Genellikle şunları vermek isteyeceksiniz:

    • Dal oluştur: Açılmasına
    • Katkıda bulunma: Açılmasına
    • Şunu okuyun: Açılmasına
    • Etiket oluştur: Açılmasına

Sürüm denetimi denetim masası sekmesine git

  • Azure Repos: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önet

Bu sayfayı görürseniz, depoyu seçin ve ardından bağlantıya tıklayın:

Denetim Masası üst-proje

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 sonra Project koleksiyonu derleme hizmeti' ni seçin. Varsayılan olarak, bu kimlik depodan okuyabilir, ancak geri hiçbir değişiklik gönderemiyor.

izinleri

Çalıştırmak istediğiniz git komutları için gerekli izinleri verin. Genellikle şunları vermek isteyeceksiniz:

  • Dal oluştur: Açılmasına
  • Katkıda bulunma: Açılmasına
  • Şunu okuyun: Açılmasına
  • Etiket oluştur: Açılmasına

İzinleri verme işlemini tamamladığınızda Değişiklikleri Kaydet' e tıkladığınızdan emin olun.

Komut satırı git çalıştırmak için işlem hattınızı etkinleştirme

Değişkenler sekmesinde bu değişkeni ayarlayın:

Name Değer
system.prefergit true

Betiklerin sistem belirtecine erişmesine izin ver

checkoutOlarak ayarlanmış bir bölüm ekleyin persistCredentialstrue .

steps:
- checkout: self
  persistCredentials: true

Hakkında daha fazla bilgi edinin checkout .

Seçenekler sekmesindebetiklerin OAuth belirtecine erişmesine izin ver' i seçin.

Yerel depoyu temizlediğinizden emin olun

Yerel depodaki bazı değişiklik türleri, derleme işlem hattı tarafından otomatik olarak temizlenir. Bu nedenle şunları yaptığınızdan emin olun:

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

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

' Nin checkoutclean olarak ayarlandığından emin olun true .

steps:
- checkout: self
  clean: true

Örnekler

Deponuzdaki dosyaları listeleyin

Git 'i etkinleştirmekiçin yukarıdaki adımları izlediğinizden emin olun.

Oluştur sekmesinde şu görevi ekleyin:

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

Yardımcı program: komut satırı
Git deposundaki dosyaları listeleyin.
Araç:

Bağımsız değişkenler:

Özellik dalını ana ile birleştirme

Derleme başarılı olursa bir CI derlemesini Main ile birleştirmek istiyorsunuz.

Git 'i etkinleştirmekiçin yukarıdaki adımları izlediğinizden emin olun.

Tetikleyiciler sekmesinde, SÜREKLI Tümleştirme (CI) öğesini seçin ve derlemek istediğiniz dalları ekleyin.

merge.batDeponuzın kökünde 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 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:

SSS

uzak deponuz GitHub veya bitbucket bulutu gibi başka bir Git hizmeti mi yoksa git komutlarını çalıştırabilir miyim?

Yes

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

Toplu iş betiği

Komut Satırı

PowerShell

Kabuk betiği

Betik ne zaman gönderirken CI derlemesini tetiklemekten kaçının Nasıl yaparım??

işleme ***NO_CI*** iletinize ekleyin. Ö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***"

Commit [skip ci] iletinize veya açıklamanıza ekleyin. Ö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]"

Aşağıdaki çeşitlemelerden herhangi birini de kullanabilirsiniz. Bu, Git, Bitbucket Cloud, Azure Repos ve GitHub Server'a GitHub Enterprise için de kullanılabilir.

  • [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***

Betiklerin Git komutlarını çalıştırması, derleme işlem hattının derleme kaynaklarını nasıl etkilediğini nasıl etkiler?

olarak ayarlanmışsa derleme işlem hattı, kaynak dosyaları klonlamak veya getirmek için system.prefergittrue LibGit2Sharp yerine komut satırı Git kullanır.

Bir aracıya ihtiyacım var mı?

Derlemenizi veya yayınını çalıştırmak için en az bir aracı gerekir.

Sorunlarımız var. Bunları nasıl gidererim?

Bkz. Derleme ve Sürüm Sorunlarını Giderme.

Varsayılan aracı havuzunu seçe değilim ve derlememi veya sürümümi kuyruğa ala bilmiyorum. Nasıl yaparım? düzeltebilir misiniz?

Bkz. Aracı havuzları.

My NuGet görev şu hatayla başarısız oluyor: "Hata: yerel sertifikayı verdiremiyor". Bunu nasıl düzeltebilirim?

Bu, güvenilen bir kök sertifika ekerek düzeltilmiştir. Ortam değişkenini derleme NODE_EXTRA_CA_CERTS=file aracınıza ekleyebilir veya görev değişkenini işlem NODE.EXTRA.CA.CERTS=file hattınıza ebilirsiniz. Bu Node.js hakkında daha fazla bilgi için bkz.Node.js belgeleri. İşlem hattınıza değişken ayarlama hakkında yönergeler için bkz. İşlem hattında değişken ayarlama.

Şirket içi TFS'yi kullanıyor ve bu özelliklerden bazılarını göremiyorum. Neden olmasın?

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