猿问

如何使用适用于 Windows 的 GitLab 管道进行构建

我有以下 .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?


MMMHUHU
浏览 104回答 1
1回答

犯罪嫌疑人X

这不是一个gitlab问题,而是一个go问题。从 Go 1.5 版本开始,交叉编译变得非常容易。GOOS=windows GOARCH=386 go build -o hello.exe hello.go您现在可以在 Windows 计算机上运行 hello.exe
随时随地看视频慕课网APP

相关分类

Go
我要回答