2 回答

TA貢獻1880條經驗 獲得超4個贊
首先要解決您的實際錯誤:似乎您正在使用基于Windows的運行器。這意味著您必須使用Windows CMD命令。它不知道ENV等。
你可以這樣做。與GOARCH相同。然后只需運行.go env -w GOOS="linux"go build .
您還可以使用變量部分用環境變量覆蓋:go env
variables:
GOOS: "linux"
GOARCH: "amd64"
它位于gitlab文件頂部的某個地方。
以下是我使用 Docker 容器的 Go 項目的典型構建管道:
build_App:
image: golang:1.15.3
stage: build
allow_failure: false
tags:
- unix
script:
- go mod download
- mkdir $CI_PROJECT_DIR/release
- cd cmd/app
- GOOS=linux GOARCH=amd64 go build -o $CI_PROJECT_DIR/release/app .
artifacts:
paths:
- $CI_PROJECT_DIR/release
和測試管道
go_test:
image: golang:1.15.3
stage: verify
allow_failure: false
tags:
- unix
script:
- go mod download
- go test -race -cover ./...
這基于使用 Docker 映像進行構建的運行器。

TA貢獻1725條經驗 獲得超8個贊
我需要寫 go env -w GOOS=“linux” GOARCH=“amd64” 來制作 linux 的可執行文件,如果我想為 Windows 制作可執行文件,我只需要將 linux 重命名為 windows,我就可以使用 image : golang:1.15.7 在這里安裝 golang:1.15.7。這樣,我的.gitlab-ci.yml文件就可以安裝GO Lang,并且可以運行任何go命令。
demo_job_1:
stages:
-build
build:
stage: build
image : golang:1.15.7
tags:
- cpf
- cpf-test
- testing
- unit-testing
script:
- go run test/main.go
- go env -w GOOS=linux GOARCH=amd64
- go env
- cd test
- ./test
- echo Successfully run and Built
- 2 回答
- 0 關注
- 176 瀏覽
添加回答
舉報