Jenkins集成GitLab_jenkins与gitlab集成

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Jenkins免密拉取GitLab项目

1.在Jenkins上为GitLab创建一个专有的拉取代码的账号 Jenkins需要构建哪些项目就在GitLab给予账号相应权限 我这里已经创建过Jenkins用户,下面用它登录后添加SSH-KEY
在这里插入图片描述
2.在Jenkins服务器上生成ssh-key


[root@jenkins ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:IUQIuu0SAdSbZvENbIjFYTrUrnuqKGBmZtwPj6lvz60 root@jenkins
The key's randomart image is:
+---[RSA 2048]----+
|ooB=+oo          |
|ooo\*.=           |
|oo. \* + .        |
| +.\* . o .       |
|+ \*     S        |
|.@ o             |
|O o \*            |
|oo =.o.          |
|=o\*..E..         |
+----[SHA256]-----+

查看公钥

[root@jenkins ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7ckQQf4N93Rjf0ts3Lk4siL6FZmZiBiB+ouwTgw9kKof2NeJTguf0aNfDsgSEet4+bJ53ZKztsFZE/C+sqk7grqeLeYDFBWgdZBz1dmCYT51tRFmZPDEDclOIMc2tz0G50g6DFA1dvIfkzeVbKjBNN0o80FSAwAzrtjMrkyaDcrOmYekiSPM8JYJTTcFLCzIBXz7SXOmKH5vyoAIVpdcwnIhkHNLKfD0MdzGb7Kz/pKMnLubodcxyNir6fqw76qwMe1DE0NtQzpaCrTYhVnAizVqCDek0GMZjTG1vWYNn6a8G7omV3Gde1XjcmjAj6ftVQiVLBRJaIGKI4R/B//nd root@jenkins

将Jenkins的公钥填入GitLab账号中
在这里插入图片描述
3.测试SSH-KEY 到jenkins服务器上拉取项目来测试ssh-key免密是否生效


[root@jenkins ~]# yum install git -y
[root@jenkins ~]# git clone git@106.14.10.124:dev01/sample.git
正克隆到 'sample'...
The authenticity of host '106.14.10.124 (106.14.10.124)' can't be established.
ECDSA key fingerprint is SHA256:bO22/HlgAAGXi9CXTxDE6wvNCUcTs2OajL9PinZMN/0.
ECDSA key fingerprint is MD5:ec:4f:14:0a:b6:72:cf:6e:da:5b:fa:5b:be:b9:2f:db.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '106.14.10.124' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (6/6), done.

如上,ssh-key已生效

配置jenkins自动拉取代码

1.jenkins 服务器添加证书 系统配置——》Manage Credentials
在这里插入图片描述
系统配置——》Manage Credentials——》Jenkins——》全局凭证——》添加凭证
在这里插入图片描述
这样的话Jenkins服务器拉取GitLab的代码就不需要再进行认证了。
Jenkins安装GitLab插件

1.安装插件 插件名称:

•GitLab
•Gitlab Hook
•Gitlab Authentication
•GitLab Logo
在这里插入图片描述
安装完成后重启Jenkins

GitLab为Jenkins生成Token

1.我们使用Jenkins用户登录GitLab 然后使用Jenkins用户创建Token
在这里插入图片描述
2.复制创建的Token
在这里插入图片描述
3.打开Jenkins 系统管理——》系统配置
在这里插入图片描述
输入以下相关内容
在这里插入图片描述
选择凭证,测试后保存
在这里插入图片描述
4.查看凭证 现在有以下两种方式与GitLab进行认证

•通过GitLab上Jenkins用户的密钥(GitLab绑定Jenkins用户的公钥,Jenkins绑定GitLab上Jenkins用户的私钥)、
•通过GitLab上Jenkins用户的API Token绑定到Jenkins上的GitLab authentication插件上进行连接。
在这里插入图片描述

Jenkins构建流水线

1.创建Project 新建任务——》流水线
在这里插入图片描述
2.选择流水线语法
在这里插入图片描述
3.生成流水线脚本
在这里插入图片描述
复制生成的git脚本
4.编写Pipline脚本 我这里脚本如下


node {
    stage('拉取代码'){
        git credentialsId: 'b907af22-5a74-4eee-aa5f-a822c764279c', url: 'git@172.19.95.139:dev01/sample.git'
        echo "Code Pull"
    }
    stage('代码扫描'){
        echo "Code Scanning"
    }
    stage('代码构建'){
        echo "Code Build"
    }
    stage('是否部署'){
        input '是否部署'
    }    
    stage('开始部署'){
        sh '/opt/jenkins/sample/sample\_release.sh'


![img](https://img-blog.csdnimg.cn/img_convert/81000bbe33c8aecaa646b78189165094.png)
![img](https://img-blog.csdnimg.cn/img_convert/88f46f2b2cba2c73071d6f3f40e9742a.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

*[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值