我有以下 .gitlab-ci.yml...stages: - test - build - artimage: golang:1.9.2variables: BIN_NAME: example ARTIFACTS_DIR: artifacts GO_PROJECT: example GOPATH: /gobefore_script: - mkdir -p ${GOPATH}/src/${GO_PROJECT} - mkdir -p ${CI_PROJECT_DIR}/${ARTIFACTS_DIR} - go get -u github.com/golang/dep/cmd/dep - cp -r ${CI_PROJECT_DIR}/* ${GOPATH}/src/${GO_PROJECT}/ - cd ${GOPATH}/src/${GO_PROJECT}test: stage: test script: # Run all tests go test -run ''build: stage: build script: # Compile and name the binary as `hello` - go build -o hello - pwd - ls -l hello # Execute the binary - ./hello # Move to gitlab build directory - mv ./hello ${CI_PROJECT_DIR} artifacts: paths: - ./hello这对于 Linux 来说非常有效,但我现在需要做同样的事情,以便它构建一个 Windows 可执行文件。然后我计划运行预定的脚本来下载工件。另一个选择是我在 Windows 服务器上运行虚拟 Linux 服务器并使用它来运行我的 go 二进制文件。我知道我需要将图像更改为 Windows,但无法在网上找到合适的图像(为 golang 配置的图像)。或者是否可以让这个 docker 镜像构建一个 windows exe?
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
这不是一个gitlab问题,而是一个go问题。
从 Go 1.5 版本开始,交叉编译变得非常容易。
GOOS=windows GOARCH=386 go build -o hello.exe hello.go
您现在可以在 Windows 计算机上运行 hello.exe
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消