能不能实现,在gitlab中 clone和push都不需要密码,我都已经把项目改成public,怎么还是这样。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能不能实现,在gitlab中 clone和push都不需要密码,我都已经把项目改成public,怎么还是这样。相关的知识,希望对你有一定的参考价值。

那你就使用github的SSH公钥地址嘛,在你本地生成一组密钥,登录github页面后把你的公钥存进去,然后clone代码的时候选择哪个ssh地址,不要选择https的地址,之后一切操作都不需要你输入任何用户信息了 参考技术A 生成ssh秘钥,然后复制到你的gitlab页面上存入你的ssh秘钥,然后就可以操作属于你的代码而不需要输密码了,clone时要输入ssh地址,

[ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.

构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.

 

拉取gitlab代码库:

jenkins安装git插件

配置gitlab服务器和jenkins服务器身份互信

jenkins服务器生成一对rsa key.

复制公钥到gitlab web dashboard添加

在jenkins Credentials里添加private key.

接下去创建project

 

拉取到了本地: /var/lib/jenkins/workspace

 


安装两个插件

Gitlab Hook Plugin
build authorization token root plugin #这个插件使用参照https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin
总之就是生成了一个url: http://192.168.14.128:8080/buildByToken/build?job=demo-sonar&token=433230c791c1c0e3

自己产生一个复杂点的token: openssl rand -hex 8 得到 433230c791c1c0e3, 写到jenkins,将组合成的url写到gitlab

 

 

新建jobs:

 

 

以上是关于能不能实现,在gitlab中 clone和push都不需要密码,我都已经把项目改成public,怎么还是这样。的主要内容,如果未能解决你的问题,请参考以下文章

在gitlab中新建项目,push的时候提示“pre-receive hook declined”

Gitlab新建项目push报 remote origin already exists

Gitlab新建项目push报 remote origin already exists

Gitlab新建项目push报 remote origin already exists

git clone和fork的区别

git中https和ssh的区别