Jenkins集成maven/gitlab-代码拉取
Jenkins插件-加速-上传安装-离线安装
1.加速插件(国外的源替换成国内的源-->系统管理-->插件管理-->高级-->升级站点-->修改URL)
![](https://img2020.cnblogs.com/blog/2174174/202103/2174174-20210307131049357-1070069796.png)
配置Jenkins
Manage Jenkins>Manage Plugins>Advanced
![](https://img2020.cnblogs.com/blog/2174174/202103/2174174-20210307131133857-908742317.png)
直接搜索插件进行安装-这方法比较慢
![](https://img2020.cnblogs.com/blog/2174174/202103/2174174-20210307131232270-585454399.png)
2.手动上传.hpi的插件(手动网站下载一个.hpi文件,然后 系统管理-->插件管理-->高级-->上传插件 )
选择上传文件方式安装- 在清华源Jenkins的插件库下载好
安装Maven插件
1.安装maven(前提配置好jdk 略……)
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz tar -xzf apache-maven-3.3.9-bin.tar.gz mv apache-maven-3.3.9 /usr/maven/
======配置maven环境变量=======
vim /etc/profile
export MAVEN_HOME=/usr/maven export PATH=${PATH}:${MAVEN_HOME}/bin
source /etc/profile 使配置生效
2.Jenkins系统环境变量设置
Jenkins集成Gitlab
1.Jenkins为什么要集成Gitlab
因为我们需要依托Jenkins将Gitlab上的项目获取至本地,为后续网站的代码发布工作做好准备。
2.Jenkins如何集成Gitlab
由于Jenkins只是一个调度平台,所以需要安装gitlab相关的插件即可集成。
3.Jenkins与Gitlab集成思路
1.开发提交代码至Gitlab
2.Jenkins安装Gitlab所需插件
3.Jenkins创建freestyle项目。然后配置gitlab仓库项目对应地址
4.Jenkins与Gitlab实践
1.切换至gitlab服务,然后导入项目代码。
![](https://img2020.cnblogs.com/blog/2174174/202103/2174174-20210307131834330-180513459.png)
2.Jenkins安装Gitlab关联的插件
插件名称 插件作用
Credentials Plugin 允许再Jenkins中存储认证的凭据
Git Client Plugin 允许Jenkins使用Git
Git Plugin 允许Jenkins集成Git
Gitlab Plugin 允许Gitlab触发Jenkins构建并在Gitlab中显示
GitLab Hook 允许Gitlab自动触发Jenkins构建项目
Gitlab Authentication plugin Gitlab身份验证插件
3.Jenkins构建一个自由风格的项目freestyle,配置Gitlab仓库代码地址
需要安装的插件 Maven Integration plugin
![](https://img2020.cnblogs.com/blog/2174174/202103/2174174-20210307132017539-1421890327.png)
Jenkins服务器与Gitlab服务器建立免密钥链接
#Jenkins服务生成密钥,将公钥复制到Gitlab的某个项目中 [root@jenkins ~]# ssh-keygen [root@jenkins ~]# cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS60zGGzy5gqtNIPGYJ4wLkjd5iIoXSzHy6Ec5BcXbB0RV5LOOTi67bhl1VZRhQqZtg8lCQGJny4CspFtLo1da0Q8y0tmE2Z2uU/d9HRJXTZEIdlW3uX1mV02FfpAQEB11ohHiYZlMgt3gCBi+t3drFXAv8tNugUoPSCpb90l2CJck6jlyKsiBTmObohIYCu4q2oj6ggfKkXmq/wqggK2470jzChmap6RIDQ6FqliTl+GabbwsIk2Yq/2Fl7uo3MwEkKSFd6RZW5G/AfMonrAhM8hTsmZtHxctIht3ddWIL58WU2hpN7HCp+3MhACY5XUhQ2i7GIHaMQSPKRwmHNUH root@localhost.localdomain #测试 [root@jenkins ~]# git clone git@gitlab.precious.com:python-web/cmdb.git Cloning into 'cmdb'... remote: Enumerating objects: 8, done. remote: Counting objects: 100% (8/8), done. remote: Compressing objects: 100% (5/5), done. remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0 Receiving objects: 100% (8/8), done.
复制gitlab仓库的项目URL地址到Jenkins中
Jenkins的私钥
[root@jenkins ~]# cat ~/.ssh/id_rsa
查看Jenkins拉取的代码
[root@jenkins ~]# find / -name freestyle /root/.jenkins/jobs/freestyle /root/.jenkins/workspace/freestyle [root@localhost ~]# ll /root/.jenkins/workspace/freestyle total 8 -rw-r--r--. 1 root root 43 Dec 11 09:23 fdd.sh -rw-r--r--. 1 root root 43 Dec 11 09:23 fdd.txt -rw-r--r--. 1 root root 0 Dec 11 09:23 README.md