Jenkins-gitlab

在这里插入图片描述

实验环境:

​ Git/Maven :192.168.116.102

​ Gitlab: 192.168.116.107

​ Jenkins 192.168.116.103

​ Nexus 192.168.116.104

实验目的:

​ 在 Maven中生成一个jar 包,将其解压后上传至 gitlab (kgcapp)项目中,然后 Jenkins 将其从 gitlab中拉取至 Jenkins 项目中,然后将其代码上传至私服

​ Gitlab 与 Jenkins 要形成一个 自动触发Jenkins 项目的关系(GItlab 有代码改动,触发 Jenkins)

1.安装 Maven服务器

  • 安装 Git
[root@localhost ~]# yum -y install git
  • 安装 Maven
[root@localhost ~]# tar -zxf apache-maven-3.6.0-bin.tar.gz 
[root@localhost ~]# mv apache-maven-3.6.0 /usr/local/maven
[root@localhost ~]# ln -s /usr/local/maven/bin/* /usr/local/bin/
  • 修改 maven 镜像为 aliyun

参考:https://blog.csdn.net/RunzIyy/article/details/104793293

  • 创建一个 java 项目
mvn archetype:generate -DgroupId=cn.kgc.kgcapp -DartifactId=kgcapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  • 将 kgcapp 生成一个 Git 库
[root@localhost kgcapp]# pwd
/root/kgcapp
[root@localhost kgcapp]# git init
初始化空的 Git 版本库于 /root/kgcapp/.git/
[root@localhost kgcapp]# ls
pom.xml  src

  1. 安装Gitlab

参考以下

https://blog.csdn.net/RunzIyy/article/details/104716987

  • 创建 kgcapp(空项目)

在这里插入图片描述
在这里插入图片描述

  • 查看 kgcapp 项目地址

在这里插入图片描述

  1. 部署 Jenkins

  • 安装Jenkins
  • 创建Maven项目

首页 --》 名称 --》 建立一个 Maven项目

在这里插入图片描述

  • 源码管理–》 采用 Git 源码

Git URL 为 Gitlab kgcapp 地址:git@192.168.116.107:root/kgcapp.git

添加凭证: 选择SSH key 验证、指定 ID、指定 登录用户为root ,在 Gitlab 生成秘钥对,将私钥填入指定位置

在这里插入图片描述
在这里插入图片描述

  • 构建触发器( 通过 webhook 来触发本地项目)
    • webhook 是微服务中的 API ,也称为反向 API ,也就是说前端不主动发送请求,完全又后端推送)
    • 通过这个触发器来实现, GItlab 发送代码改动,触发项目执行
    • 以下这个地址为 webhook 地址,待会会用到
    • 点击高级,生成秘钥值

在这里插入图片描述

在这里插入图片描述

  • 在 Gitlab 中添加 webhook

在这里插入图片描述

在这里插入图片描述

在保存时会报错,是因为 Gitlab 默认不允许,向外发出web请求

在这里插入图片描述

解决报错:

在这里插入图片描述

在这里插入图片描述

再次添加 webhook

在这里插入图片描述

  • 构建环境,勾选 在控制台输出 时间戳

在这里插入图片描述

  • 预构建起环境, 指定 打包命令
    20200311140545716.png
  1. 安装 nexus 私服

[root@localhost ~]# mkdir /usr/local/nexus/
[root@localhost ~]# tar -zxf nexus-3.14.0-04-unix.tar.gz -C /usr/local/nexus/
[root@localhost ~]# ls /usr/local/nexus/
nexus-3.14.0-04  sonatype-work
  • 启动私服
[root@localhost ~]# /usr/local/nexus/nexus-3.14.0-04/bin/nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Starting nexus
  • 登录 nexus 地址

    http://192.168.116.104:8081

    账户: admin

    密码: admin123

  • 查看 仓库的 网络地址

在这里插入图片描述

在这里插入图片描述

  1. 修改 pom.xml 文件

指定 私服的地址

[root@localhost ~]# cd kgcapp/
[root@localhost kgcapp]# vim pom.xml 
# 在倒数第二行添加
<distributionManagement>
      <snapshotRepository>
          <id>nexus</id>
          <name>Snapshot Repostitory</name>
          <url>http://192.168.116.104:8081/repository/maven-snapshots/</url>
       </snapshotRepository>
       <repository>
           <id>nexus</id>
           <name>Snapshot Repository</name>
           <url>http://192.168.116.104:8081/repository/maven-releases/</url>
        </repository>
   </distributionManagement>

6.Jenkins 服务器 修改 maven 配置文件

  • 添加登录用户
[root@localhost ~]# vim /usr/local/maven/conf/settings.xml 
# 在 </server> 上面添加
<servers> 
    <id>nexus</id>
    <username>admin</username>
    <password>admin123</password>
</server>

7.Git 上传代码

  • 需要先为 Gitlab 添加 本地的公钥
[root@localhost kgcapp]# git config --global user.name "root"
[root@localhost kgcapp]# git config --global user.email "root@admin.cn"
[root@localhost kgcapp]# git add .
[root@localhost kgcapp]# git commit -m 'kgcapp'
[root@localhost kgcapp]# git remote add origin git@192.168.116.107:root/kgcapp.git
[root@localhost kgcapp]# git push origin master

  1. 执行

在 Jenkins 执行 或者 修改代码触发触发器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值