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 关注
- 282 浏览
添加回答
举报
