![](/img/trans.png)
[英]how to connect golang in gitlab to mongodb container in gitlab-ci
[英]gitlab-ci with Golang do not create the right folder structure
拥有Golang项目和Go工作区。 我正在尝试运行我的测试,但是我遇到以下错误:
api/server.go:8:2: cannot find package "github.com/braintree/manners" in any of:
/usr/local/go/src/github.com/braintree/manners (from $GOROOT)
/go/src/github.com/braintree/manners (from $GOPATH)
问题来自克隆项目时它在此文件夹中执行的操作:
克隆到'/ builds / compagny / project'......
$GOPATH is /go
然后在该文件夹中我应该有类似的东西: src/github.com/compagny/project
我可以: export GOPATH=$(pwd)
,但这没有帮助,Go期望一个/ src文件夹。
但我没有gitlab-ci克隆项目的控件,是吗?
我的gitlab-ci.yml:
stages:
- build
- test
build-my-project:
image: golang:1.6
stage: build
script:
- go get -u github.com/Masterminds/glide
- glide install
- go build
test-my-project:
image: golang:1.6
stage: test
script:
- go get -u github.com/Masterminds/glide
- glide install
- go test -v ./...
使用图像中提供的go包装而不是滑动。 它将在适当的位置创建一个符号链接,然后go get
您的依赖项。 例如
build-my-project:
image: golang:1.6
stage: build
script:
- go-wrapper download
- go build
所以go包装器知道你的项目的正确路径,你需要将它作为导入注释添加到你的main.go
如下所示:
package main // import "github.com/your/repo"
要解决此问题,可以将克隆的项目复制到GOPATH文件夹。
script :
- mv /builds/ $GOPATH/src/github.com/company/project
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.