当前位置: > > > > 无法为 golang 设置 gitlab ci
来源:stackoverflow
2024-04-20 11:18:35
0浏览
收藏
Golang不知道大家是否熟悉?今天我将给大家介绍《无法为 golang 设置 gitlab ci》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!
问题内容
下面是我的 gitlab golang ci 项目的 before_script
:
before_script: - git config --global url."[email protected]:".insteadof "https://gitlab.com/" - apt-get update -qq - apt-get install -qq git - 'which ssh-agent || ( apt-get install -qq openssh-client )' - eval $(ssh-agent -s) - ssh-add <(echo "$ssh_private_key") - mkdir ~/.ssh - ssh-keyscan -t rsa devsb01 >> ~/.ssh/known_hosts - '[[ -f /.dockerenv ]] && echo -e "host *\n\tstricthostkeychecking no\n\n" > ~/.ssh/config' - git remote set-url origin [email protected]/<gitlabusername>/projectname.git - mkdir -p /go/src/gitlab.com/projectname /go/src/_/builds - cp -r $ci_project_dir /go/src/gitlab.com/projectname - ls $ci_project_dir - echo $pwd && ls - make dep
这里 dep 目标的 makefile 如下:
dep: cd src;go get -v -d ./...;
但是 ci 错误地识别导入,如下所示并失败:
问题是 go get 试图克隆不存在的 projectname/src.git。
将 fileuploader 和测试移动到 src 目录可以解决问题,但将它们移动到 src 目录中的新控制器目录失败
解决方案
尝试删除这个
git config --global url.":".insteadOf "https://gitlab.com/"
以及与 SSH 密钥相关的所有内容
并添加此行
echo -e "机器 gitlab.com\n登录 gitlab-ci-token\n密码 ${CI_JOB_TOKEN}" > ~/.netrc
.netrc
将允许您访问私有存储库,对于 gitlab CI,您不需要处理 ssh 密钥。
好了,本文到此结束,带大家了解了《无法为 golang 设置 gitlab ci》,希望本文对你有所帮助!关注公众号,给大家分享更多Golang知识!