Rumah >pembangunan bahagian belakang >Golang >Suntikan pembolehubah persekitaran Golang ke dalam Azure Pipeline

Suntikan pembolehubah persekitaran Golang ke dalam Azure Pipeline

PHPz
PHPzke hadapan
2024-02-13 13:40:091079semak imbas

将 Golang 环境变量注入 Azure Pipeline

editor php Xiaoxin membawakan anda artikel tentang menyuntik pembolehubah persekitaran Golang ke dalam Azure Pipeline. Dalam pembangunan perisian moden, menggunakan penyepaduan berterusan dan proses penghantaran berterusan telah menjadi amalan standard. Azure Pipeline ialah alat berkuasa yang membantu pembangun mengautomasikan membina, menguji dan menggunakan aplikasi. Artikel ini akan memperkenalkan cara menyuntik pembolehubah persekitaran Golang dalam Azure Pipeline untuk memudahkan penggunaan alatan dan perpustakaan berkaitan Golang semasa proses binaan dan penggunaan. Dengan memahami langkah-langkah ini, anda akan dapat memanfaatkan Azure Pipeline dengan lebih cekap untuk membina dan menggunakan aplikasi Golang.

Kandungan soalan

Saya sedang memindahkan beberapa komponen binaan ke saluran paip azure dan cuba menetapkan beberapa pembolehubah persekitaran untuk semua proses berkaitan golang. Saya mahu melaksanakan arahan berikut dalam saluran paip:

cgo_enabled=0 goos=linux goarch=amd64 go build [...]

Apabila memanfaatkan penyepaduan golang yang disediakan, adalah mudah untuk menambah parameter untuk proses berkaitan go, tetapi menetapkan pembolehubah persekitaran untuk semua (atau setiap) >go proses nampaknya mustahil. Baik gotool mahupun go lalai nampaknya menyokongnya, dan nampaknya tidak ada sokongan untuk melaksanakan tugas skrip dengan pelaksanaan shell sama ada.

Saya juga cuba menambahkan pembolehubah persekitaran pada keseluruhan proses saluran paip untuk menentukan bendera yang diperlukan, tetapi ini nampaknya diabaikan oleh tugas go yang disediakan oleh saluran paip biru itu sendiri.

Adakah terdapat cara untuk menambahkan bendera ini pada setiap (atau individu) proses go, seperti cara saya melakukannya dalam blok kod berikut (di mana baris input flags dicipta oleh saya)?

- task: Go@0
  inputs:
    flags: 'CGO_ENABLED=0 GOOS=linux GOARCH=amd64'
    command: 'build'
    arguments: '[...]'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
  displayName: 'Build the application'

Penyelesaian

Berdasarkan maklumat yang saya dapat cari dan tempoh penyahpepijatan yang lama, saya akhirnya menggunakan penyelesaian yang mungkin dalam golang 任务中运行 cmdline@2 命令。由于 gotool@0 cara menyediakan saluran paip dan persekitaran.

Jadi coretan kod di bawah sesuai dengan tujuan saya.

steps: 
- task: GoTool@0
  inputs:
    version: '1.19.0'
- task: CmdLine@2
  inputs:
    script: 'CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

Atas ialah kandungan terperinci Suntikan pembolehubah persekitaran Golang ke dalam Azure Pipeline. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam