如何使用私人Gitlab回购GoLang?

Gitlab是一种免费的,开源的方式来托管私人.git存储库,但它似乎不适用于GoLang。创建项目时,它会生成以下形式的URL:

git@1.2.3.4:private-developers/project.git

哪里:

> 1.2.3.4是gitlab服务器的IP地址
> private-developers是一个可以访问私有仓库的用户组

Golang 1.2.1似乎不理解这种语法。

go get git@1.2.3.4:private-developers/project.git

结果是:

package git@23.251.148.129/project.git: unrecognized import path "git@1.2.3.4/project.git"

有没有办法让这个工作?

这个问题现在在Gitlab 8中解决了。*但仍然不直观。确实最困难的挑战是go get,以下步骤将帮助您克服这些挑战:

>创建SSH密钥对。请务必不要覆盖默认保存在〜/ .ssh /中的现有对。

ssh-keygen -t rsa -b 4096

>在Gitlab项目中创建一个新的秘密变量。使用SSH_PRIVATE_KEY作为密钥,将私钥的内容用作值。
>使用before_script修改.gitlab-ci.yml。

before_script:
  # install ssh-agent if not already installed
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  # run ssh-agent
  - eval $(ssh-agent -s)
  # add the SSH key stored in SSH_PRIVATE_KEY
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  # for Docker builds disable host key checking
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

>将步骤1中创建的密钥对中的公钥添加为您需要获取的项目中的Deploy Key。

https://stackoverflow.com/questions/29707689/how-to-use-golang-with-a-private-gitlab-repo

转载注明原文:如何使用私人Gitlab回购GoLang?