Jenkins访问Gitlab

1.1.1 获取Gitlab的Access Token

l 登录Gitlab,选择ProfileràSetting,如下图

Jenkins访问Gitlab

l 生成Access Token,如下图

Jenkins访问Gitlab

复制Access Token,以便下一步使用

1.1.2 Jenkins配置Gitlab的凭证

l 登录Jenkins,选择系统管理à系统设置àGitlabà添加à输入上一步所获取的AccessToken,如下图配置

Jenkins访问Gitlab

Jenkins访问Gitlab

l 单击“TestConnection”,测试连通性

1.1.3 创建Jenkins用户的SSH访问Key

由于jenkins执行脚本的使用使用的是jenkins这个账号,所以公钥私钥需要放在此用户的目录里。

l 由于此账号是一个不允许登录且修改了home目录的账号,所以需要先执行 vi /etc/passwd 查看一下jenkins账号的home目录,在里边找到jenkins这个账号其中红框部分为他的home目录

Jenkins访问Gitlab

l 生成root(不是root其它账号也可)账号的sshkey

ssh-keygen -t rsa -C "[email protected]" -b 4096 # 生成公钥私钥,注意双引号内是个助记符根据需要修改

cd /root/.ssh # 进入ssh目录

git ls-remote -h ssh://[email protected]/cfwin/Com.Core.git HEAD # 连一下git服务器,生成known_hosts文件

ll # 查看文件

Jenkins访问Gitlab

如果没有 known_hosts 文件之后Jenkins发布时会有如下错误 “Host key verification failed.”

l 进入jenkins目录将刚才创建的sshkey复制过来并将所有者指到jenkins账号

cd /var/lib/jenkins # 进入jenkins的home目录

mkdir .ssh # 创建ssh目录存放sshkey文件,如果存在会报错

cd .ssh

cp /root/.ssh/* . # 将root账号下的sshkey文件复制过来,此时如果执行ll看一下这两个文件所有这应该是root

chgrp jenkins * # 将key文件的组改为jenkins

chown jenkins * # 将key文件的所有者改为jenkins

l 此时pwd再ll应该看到如下内容

Jenkins访问Gitlab

1.1.4 GitLab添加公钥

l 打开 id_rsa.pub 将其中内容复制到记事本中,然后再copy到git服务器上

Cat id_rsa.pub

Jenkins访问Gitlab

l 访问gitlab将刚才生成的公钥添加到ssh keys中

Jenkins访问Gitlab

1.1.5 Jenkins添加私钥

l 打开 id_rsa将其中内容复制到记事本中

Cat id_rsa

Jenkins访问Gitlab

l 访问jenkins将刚才生成的私钥添加到凭证中

Jenkins访问Gitlab

1.1.6 Jenkins创建项目

l 在Jenkins中新建项目

Jenkins访问Gitlab

l 配置项目,连接Gitlab

Jenkins访问Gitlab


分享到:


相關文章: