GitLab是一种免费的开放源代码方式,用于托管私有.git
存储库,但它似乎不适用于Go。创建项目时,它将生成以下形式的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项目中创建一个新的 Secret变量 。使用SSH_PRIVATE_KEY
作为 重点 和您的内容 私有 密钥 值 。
用修改您.gitlab-ci.yml
的before_script
。
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'
go get
。问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示:
因此,我在gitlab上有一个项目test-project(https://gitlab.com/group/test-project),这是一个我使用gitlab管道构建和部署的java应用程序。在构建阶段,我正在执行,包test-project.jar被推送到gitlab maven存储库(https://gitlab.com/group/test-project/-/packages)。 现
我有一个名为UserRepository的通用存储库接口。然后我有一个接口,它从MyUserRepository扩展而来。它处理一个MyUser类,该类扩展了User。 我还有一个名为UserService的服务接口和一个名为MyUserServiceImpl的类。 该服务需要UserRepository的实例,我虽然可以使用某种注释,如@Qualifer,但它不起作用。 应用程序无法启动 说明:
在java构建期间,我如何在azure管道中访问Gitlab的私有maven存储库,该管道依赖于Gitlab repo中的jar文件?
我刚刚安装了(而不是更新)GitHub for Windows2.0,而且一辈子我都找不到如何在非GitHub存储库中使用它。在过去,我使用本指南没有任何问题。然而,在2.0版本中,布局发生了变化,我无法找到一个UI来克隆不是来自GitHub的回购。我想我必须使用命令行,但我不知道如何以这种方式使用git。
问题内容: 我在GitLab服务器上有一个专用存储库,使用SSH可以使用git clone拉出一个项目。 但是我想直接从服务器上在Linux命令行上运行脚本(更具体地说,是Drupal / Drush .make文件) 我尝试使用原始文件运行它: (为了方便非Drupal用户,我们可以说) 没有成功。当然,它会返回登录页面。 可能吗? 问题答案: 在Chris的宝贵帮助下,您可以通过以下方法从Gi