Jenkins集成maven/gitlab-代码拉取

Jenkins插件-加速-上传安装-离线安装
1.加速插件(国外的源替换成国内的源-->系统管理-->插件管理-->高级-->升级站点-->修改URL)

配置Jenkins

Manage Jenkins>Manage Plugins>Advanced

直接搜索插件进行安装-这方法比较慢

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服务,然后导入项目代码。

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

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

原文地址:https://www.cnblogs.com/fengyuanfei/p/13825518.html