![](/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.