Bagikan melalui


Membangun dan menguji proyek Go

Layanan Azure DevOps

Gunakan Azure Pipelines untuk membuat, menguji, dan menyebarkan proyek Go Anda secara otomatis. Artikel ini menunjukkan kepada Anda cara membuat pipeline yang membangun dan menguji kode Go setiap kali Anda mendorong perubahan ke repositori Anda.

Prasyarat

  • Organisasi dan proyek Azure DevOps. Buat akun gratis.
  • Proyek Go di repositori GitHub atau Azure Repos. Jika Anda tidak memiliki proyek, Anda dapat menggunakan repositori sampel yang disediakan dalam artikel ini.

Buat alur kerja pertama Anda

Baru menggunakan Azure Pipelines? Coba bagian ini sebelum beralih ke bagian lain.

Fork repositori berikut pada GitHub:

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

Masuk ke Azure Pipelines

Masuk ke Azure Pipelines. Setelah Anda masuk, browser Anda masuk ke https://dev.azure.com/my-organization-name dan menampilkan dasbor Azure DevOps Anda.

  1. Di browser, buka dev.azure.com dan masuk.
  2. Pilih organisasi Anda.
  3. Buat proyek baru dengan memilih Proyek baru atau Buat proyek jika Anda membuat proyek pertama di organisasi.
  4. Masukkan Nama proyek.
  5. Pilih Visibilitas untuk proyek Anda.
  6. Pilih Buat.

Membuat alur kerja

  1. Di proyek Azure DevOps Anda, pilih Alur dari menu navigasi kiri.

  2. Pilih Alur baru atau Buat alur jika alur ini adalah yang pertama dalam proyek.

  3. Pada layar Di mana kode Anda , pilih GitHub.

  4. Anda dapat diarahkan ke GitHub untuk masuk. Jika demikian, masukkan informasi masuk GitHub Anda.

  5. Pada layar Pilih repositori , pilih repositori tempat aplikasi .NET Anda berada.

  6. Anda mungkin diarahkan ke GitHub untuk menginstal aplikasi Azure Pipelines. Jika demikian, pilih Setujui & instal.

Saat tab Konfigurasi muncul, pilih Buka. Pipeline baru Anda muncul, dengan file YAML azure-pipelines.yml yang siap untuk dikonfigurasi. Lihat bagian berikut untuk mempelajari beberapa cara yang lebih umum untuk menyesuaikan alur Anda.

Membangun lingkungan

Anda dapat menggunakan Azure Pipelines untuk membangun proyek Go Anda tanpa menyiapkan infrastruktur anda sendiri. Anda dapat menggunakan agen Linux, macOS, atau Windows untuk menjalankan build Anda.

Perbarui cuplikan berikut dalam file Anda azure-pipelines.yml untuk memilih gambar yang sesuai.

pool:
  vmImage: 'ubuntu-latest'

Versi modern Go telah diinstal sebelumnya pada agen yang dihosting Microsoft. Untuk versi yang tepat dari Go yang telah diinstal sebelumnya, lihat agen yang dihosting Microsoft di Azure Pipelines.

Siapkan Go

Penting

Dukungan versi Go: Proyek Go tidak lagi mempertahankan versi Go yang lebih lama dari 1.11 dan versi ini tidak menerima pembaruan keamanan. Agen yang dihosting Microsoft hanya menyertakan versi Go yang saat ini didukung. Jika proyek Anda menggunakan Go 1.10 atau yang lebih lama, tingkatkan ke Go 1.21 atau yang lebih baru untuk mendapatkan manfaat dari dukungan modul bawaan, patch keamanan, dan peningkatan performa. Lihat riwayat rilis Go untuk detail dukungan versi.

Dimulai dengan Go 1.11, Anda tidak perlu lagi menentukan $GOPATH variabel lingkungan, menyiapkan tata letak ruang kerja, atau menggunakan dep modul. Manajemen dependensi sekarang dibangun dengan modul Go.

YAML ini mengimplementasikan go get perintah untuk mengunduh paket Go dan dependensinya. Kemudian menggunakan go build untuk menghasilkan konten yang diterbitkan oleh tugas PublishBuildArtifacts@1.

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

Membangun

Gunakan go build untuk membangun proyek Go Anda. Tambahkan cuplikan berikut ke file Anda azure-pipelines.yml :

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

Ujian

Gunakan go test untuk menguji modul Go Anda dan subdirektorinya (./...). Tambahkan cuplikan berikut ke file Anda azure-pipelines.yml :

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

Saat Anda siap, terapkan file azure-pipelines.yml baru ke repositori Anda dan perbarui pesan penerapan. Pilih Simpan dan jalankan.

Tombol Simpan dan jalankan di alur YAML baru

Jika Anda ingin melihat pipeline Anda beraksi, pilih build pada opsi Pekerjaan di dasbor Azure Pipelines Anda. Pipeline build beraksi saat opsi Azure Pipelines Jobs dipilih.

Karena kode Anda tampaknya cocok untuk templat Go , Azure Pipelines secara otomatis membuat alur Anda.

Anda sekarang memiliki alur YAML yang berfungsi (azure-pipelines.yml) di repositori Anda yang siap untuk Anda sesuaikan!

Saat Anda siap untuk membuat perubahan pada alur Anda, pilih di halaman Alur , lalu Editazure-pipelines.yml file.

Petunjuk / Saran

Untuk membuat perubahan pada file YAML seperti yang dijelaskan dalam artikel ini, pilih alur di halaman Alur , lalu pilih Edit untuk membuka editor file azure-pipelines.yml . Cuplikan layar memperlihatkan cara mengedit Alur Azure dari dasbor dengan opsi lainnya dipilih dan Edit disorot.

Membangun image dan push ke Azure Container Registry

Untuk aplikasi Go, Anda juga dapat membuat gambar dan mendorongnya ke registri kontainer.