登录
首页 >  Golang >  Go问答

无法为 golang 设置 gitlab ci

来源:stackoverflow

时间:2024-04-20 11:18:35 157浏览 收藏

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]//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."[email protected]:".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学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>