![](/img/trans.png)
[英]how to connect golang in gitlab to mongodb container in gitlab-ci
[英]no Go files in ... when on making golang deb in gitlab-ci/cd
這是關於 golang 的,我在 gitlab-ci.yml 文件中使用的代碼。 這是我no Go files in /builds/release_management
的錯誤,如下所示:
$ pwd
/builds/release_management
$ echo $BasePathForBinaryFile1
cmd/main_1/
$ ls
COPYING
DebPackageGitLabDocker
README.md
cmd
deb-build
ermbuild
go.mod
publishToRemote.sh
usr
working_gitlab-ci_ableToCreateDebPackageWithNoBinary.yml
$ echo $CI_PROJECT_DIR/$BasePathForBinaryFile1
/builds/release_management/cmd/main_1/
$ GOOS=$GOOS GOARCH=$GOARCH go build -o $BinaryName1 $BasePathForBinaryFile1
no Go files in /builds/release_management
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1
這是我的工作代碼
variables:
GOOS: linux
GOARCH: amd64
TagName: 1.0.71
DebFileName: $TagName
BasePathForBinaryFile1: cmd/main_1/
BinaryName: main1
BasePathForBinaryFile2: cmd/main_2/
BinaryName: main2
build_binary:
stage: build
image: golang:latest
artifacts:
untracked: true
script:
- cd cmd/main_1
- GOOS=$GOOS GOARCH=$GOARCH go build -o $BinaryName1 $BasePathForBinaryFile1
# - GOOS=$GOOS GOARCH=$GOARCH go build -o $BinaryName1 $CI_PROJECT_DIR/$BasePathForBinaryFile1
請注意:我也嘗試過提供$CI_PROJECT_DIR/$BasePathForBinaryFile1
並且這也不起作用。
雖然,這在我先做 cd 然后使用點(。)從當前構建它時有效
variables:
GOOS: linux
GOARCH: amd64
TagName: 1.0.71
DebFileName: $TagName
BasePathForBinaryFile1: cmd/main_1/
BinaryName: main1
BasePathForBinaryFile2: cmd/main_2/
BinaryName: main2
build_binary:
stage: build
image: golang:latest
artifacts:
untracked: true
script:
- cd cmd/main_1
- GOOS=$GOOS GOARCH=$GOARCH go build -o $BinaryName .
這是我的文件夾結構:
知道我應該修復什么來修復這個 golang 錯誤嗎?
編輯 1:此外,在執行cd $CI_PROJECT_DIR/$BasePathForBinaryFile
然后ls
時,它不會進入該目錄並且仍然僅顯示基本目錄的內容:
$ echo $CI_PROJECT_DIR/$BasePathForBinaryFile1
/builds/SugarBox/edge_release_management/cmd/main_1/
$ cd $CI_PROJECT_DIR/$BasePathForBinaryFile
$ ls
COPYING
DebPackageGitLabDocker
README.md
cmd
deb-build
ermbuild
go.mod
publishToRemote.sh
usr
working_gitlab-ci_ableToCreateDebPackageWithNoBinary.yml
有幾個問題:
BinaryName1
所以GOOS=$GOOS GOARCH=$GOARCH go build -o $BinaryName1 $BasePathForBinaryFile1
成為
GOOS=$GOOS GOARCH=$GOARCH go build -o cmd/main_1/
並且源文件應該在當前目錄中,而它們不在那里。 您需要修復配置以使用BinaryName1
和BinaryName2
而不是兩次使用BinaryName
。
./cmd/main_1/
。Edit 1
部分cd
不起作用,因為環境名稱不正確它應該是$BasePathForBinaryFile1
但它是$BasePathForBinaryFile
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.