go - Gitlab CI 和 Go 模块

标签 go gitlab go-modules

我有一个 Go 项目,我想为我的项目编写一个 Gitlab CI 文件,但我看到加载模块要求时出错。这是我的 gitlab CI 文件:

stages:
  - compile
build:
  stage: compile
  image: golang:1.12
  script:
    - go build -o binary
error :
Running with gitlab-runner 11.8.0 (4745a6f3)
  on Runner #6 e0e0c446
Using Docker executor with image golang:1.12 ...
Pulling docker image golang:1.12 ...
Using docker image sha256:be63d15101cb68aea1841b45201b08a1a486c1a60a029bbf0ddb284ab646b0b7 for golang:1.12 ...
Running on runner-e0e0c446-project-753-concurrent-0 via runner-01.tool.afra.snapp.infra...
Cloning repository...
Cloning into '/builds/Alsopa/echo-training'...
Checking out ab3994cc as develop...
Skipping Git submodules setup
$ go build -o binary
go: finding github.com/labstack/gommon v0.2.9
go: finding github.com/labstack/echo v3.3.10+incompatible
go: finding github.com/go-sql-driver/mysql v1.4.1
go: google.golang.org/appengine@v1.6.1: unrecognized import path "google.golang.org/appengine" (parse https://google.golang.org/appengine?go-get=1: no go-import meta tags ())
go: error loading module requirements
ERROR: Job failed: exit code 1

最佳答案

请务必上传最后一个 go.sum 文件。在上传到 master 执行 ci 之前运行 go get,上传到 master 并运行 ci。

关于go - Gitlab CI 和 Go 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57182988/

相关文章:

testing - 如何可靠地让项目在 go 中 Root ?

go - 解码动态 YAML 以映射结构

go - 文件未使用go上传到目录

go - Golang 方法中 nil 接收器的行为

gitlab - 导入的存储库不会更新用户提交日历

continuous-integration - 如何在 1 个作业中定义 2 个具有不同 when 条件的工件?

在获取主要版本模块依赖项时出错

gitlab - sudo gitlab-runner result command not found 但 gitlab-runner 只能运行

go - 使用 "go get"下载二进制文件而不将它们添加到 go.mod

go - 管理通过非标准端口访问的自定义 Go 模块