登录
首页 >  Golang >  Go问答

用Windows的GitLab流水线进行构建的步骤

来源:stackoverflow

时间:2024-03-12 08:45:25 381浏览 收藏

大家好,今天本人给大家带来文章《用Windows的GitLab流水线进行构建的步骤》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我有以下 .gitlab-ci.yml...

stages:
  - test
  - build
  - art

image: golang:1.9.2

variables:
  BIN_NAME: example
  ARTIFACTS_DIR: artifacts
  GO_PROJECT: example
  GOPATH: /go


before_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?


解决方案


这不是一个gitlab问题,而是一个go问题。

自从 go 1.5 版本以来,交叉编译变得非常容易。

GOOS=windows GOARCH=386 go build -o hello.exe hello.go

您现在可以在 windows 计算机上运行 hello.exe

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>