Go projelerini derleme ve test etme

Azure DevOps Hizmetleri

Go projelerinizi otomatik olarak derlemek, test etmek ve dağıtmak için Azure Pipelines'ı kullanın. Bu makalede, deponuza her değişiklik gönderişinizde Go kodunuzu derleyen ve test eden bir işlem hattı oluşturma işlemleri gösterilmektedir.

Önkoşullar

  • Azure DevOps kuruluşu ve projesi. Ücretsiz bir tane oluşturun.
  • GitHub veya Azure Repos deposundaki Go projesi. Projeniz yoksa, bu makalede sağlanan örnek depoyu kullanabilirsiniz.

İlk işlem hattınızı oluşturma

Azure Pipelines'ta yeni misiniz? Diğer bölümlere geçmeden önce bu bölümü deneyin.

GitHub'da aşağıdaki depoyu forklayın:

https://github.com/MicrosoftDocs/pipelines-go

Azure Pipelines'da oturum açma

Azure Pipelines'da oturum açın. Oturum açtığınızda, tarayıcınız https://dev.azure.com/my-organization-name adresine gider ve Azure DevOps panonuzu görüntüler.

  1. Tarayıcıda dev.azure.com gidin ve oturum açın.
  2. Kuruluşunuzu seçin.
  3. Kuruluştaki ilk projeyi oluşturuyorsanız Yeni proje'yi veya Proje oluştur'u seçerek yeni bir proje oluşturun.
  4. Bir Proje adı girin.
  5. Projenizin Görünürlüğünü seçin.
  6. Oluştur'i seçin.

İşlem hattını oluştur

  1. Azure DevOps projenizde sol gezinti menüsünden İşlem Hatları'nı seçin.

  2. Bu işlem hattı projenin ilk işlem hattıysa Yeni işlem hattı veya İşlem hattı oluştur'u seçin.

  3. Kodunuz nerede ekranında GitHub'ı seçin.

  4. Oturum açmak için GitHub'a yönlendirilebilirsiniz. Öyleyse GitHub kimlik bilgilerinizi girin.

  5. Depo seçin ekranında.NET uygulamanızın içinde olduğu depoyu seçin.

  6. Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.

Yapılandır sekmesi görüntülendiğinde Git'i seçin. Yeni işlem hattınız görüntülenir ve azure-pipelines.yml YAML dosyası yapılandırılmaya hazır olur. İşlem hattınızı özelleştirmenin yaygın yollarından bazılarını öğrenmek için aşağıdaki bölümlere bakın.

Derleme ortamı

Kendi altyapınızı ayarlamadan Go projelerinizi oluşturmak için Azure Pipelines'ı kullanabilirsiniz. Derlemelerinizi çalıştırmak için Linux, macOS veya Windows aracılarını kullanabilirsiniz.

Uygun görüntüyü seçmek için dosyanızdaki azure-pipelines.yml aşağıdaki kod parçacığını güncelleştirin.

pool:
  vmImage: 'ubuntu-latest'

Go'nun modern sürümleri Microsoft tarafından barındırılan aracılara önceden yüklenmiş olarak bulunur. Önceden yüklenmiş Go'nun tam sürümleri için Bkz. Azure Pipelines'da Microsoft tarafından barındırılan aracılar.

Go'yı ayarlama

Önemli

Go sürüm desteği: Go projesi artık 1.11'den önceki Go sürümlerini korumaz ve bu sürümler güvenlik güncelleştirmelerini almaz. Microsoft tarafından barındırılan aracılar yalnızca şu anda desteklenen Go sürümlerini içerir. Projeniz Go 1.10 veya önceki bir sürümü kullanıyorsa, yerleşik modül desteği, güvenlik düzeltme ekleri ve performans geliştirmelerinden yararlanmak için Go 1.21 veya sonraki bir sürüme yükseltin. Sürüm desteği ayrıntıları için Go sürüm geçmişine bakın.

Go 1.11'den itibaren artık bir ortam değişkeni tanımlamanız, çalışma $GOPATH alanı düzeni ayarlamanız veya modülü kullanmanız dep gerekmez. Bağımlılık yönetimi artık Go modülleriyle yerleşiktir.

Bu YAML, Go paketlerini ve bağımlılıklarını indirmek için komutunu uygular go get . Ardından, go build kullanarak PublishBuildArtifacts@1 görevi tarafından yayımlanan içeriği oluşturur.

trigger: 
 - main

pool:
   vmImage: 'ubuntu-latest'

steps: 
- task: GoTool@0
  inputs:
    version: '1.22'  # Use a currently supported Go version
- task: Go@0
  inputs:
    command: 'get'
    arguments: '-d'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
  inputs:
    TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
  inputs:
     artifactName: drop

İnşa et

Go projenizi oluşturmak için kullanın go build . Dosyanıza azure-pipelines.yml aşağıdaki kod parçacığını ekleyin:

- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

Sınav

Go modülünüzü ve alt dizinlerini (go test ) test etmek için kullanın./.... Dosyanıza azure-pipelines.yml aşağıdaki kod parçacığını ekleyin:

- task: Go@0
  inputs:
    command: 'test'
    arguments: '-v'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

Hazır olduğunuzda deponuza yeni bir azure-pipelines.yml dosyası işleyin ve işleme iletisini güncelleştirin. Kaydet ve çalıştır'ı seçin.

Yeni bir YAML işlem hattında kaydet ve çalıştır düğmesi

İşlem hattınızı iş başında izlemek istiyorsanız Azure Pipelines panonuzdaki Jobs seçeneğinde derlemeyi seçin. Azure Pipelines İşleri seçeneği seçildiğinde, işlem hattı derlemesi devreye girer.

Kodunuz Go şablonuna uygun göründüğünden Azure Pipelines işlem hattınızı otomatik olarak oluşturmuştur.

Artık deponuzda özelleştirmeniz için hazır çalışan bir YAML işlem hattı (azure-pipelines.yml) var!

İşlem hattınızda değişiklik yapmaya hazır olduğunuzda, İşlem Hatları sayfasından hattınızı seçin ve ardından Dosyayı düzenleyinazure-pipelines.yml.

Tavsiye

YAML dosyasında bu makalede açıklandığı gibi değişiklik yapmak için İşlem Hatları sayfasında işlem hattını seçin ve ardından Düzenle'yi seçerek dosya için azure-pipelines.yml bir düzenleyici açın. Panodan Azure Pipeline'ın nasıl düzenlendiğini, daha fazla seçeneğin seçili ve Düzenle'nin vurgulanmış olduğunu gösteren ekran görüntüsü.

Görüntü oluşturma ve Azure Container Registry'ye gönderme

Go uygulamanız için bir görüntü derleyebilir ve bunu bir kapsayıcı kayıt defterine gönderebilirsiniz.