Jenkins+github+maven自动构建发布SpringBoot项目

      • Jenkins 安装
          • war 包方式安装
      • 配置Jenkins插件
      • Jenkins全局工具配置
          • 安装Git
          • 安装Maven
      • Jenkins 系统配置
          • 配置github Webhooks
      • 新建Job

Jenkins 安装

war 包方式安装

官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面)
运行环境:ubuntu(2核4GB) + jdk8

Java安装方式:

http://blog.csdn.net/xiangwanpeng/article/details/54561374 (转载 jdk安装参考 )

运行jenkins时建议使用root 用户

  #切换为root用户
  sudo -i  
  #创建jenkins 文件夹并进入到jenkins文件夹中
  mkdir /usr/local/jenkins 
  cd  /usr/local/jenkins 
  #此处需要把 jenkins 复制到 jenkins 目录下
  cp /home/ubuntu/jenkins.wat .
  #后台运行jenkins
  nohup java -jar jenkins.war>jenkins.log &
  #查看启动情况
  tail -f jenkins.log

Jenkins+github+maven自动构建发布SpringBoot项目_第1张图片

jenkins 启动成功,通过浏览器访问 服务器IP:8080(jenkins默认使用8080端口,需要服务器开放此端口),即可跳转到如下界面:
Jenkins+github+maven自动构建发布SpringBoot项目_第2张图片
输入密码,这个密码是一图中第二处划红线的的内容,也可以在 /root/.jenkins/secrets 目录下的initialAdminPassword获取,可以使用

cat /root/.jenkins/secrets/initialAdminPassword

获得,输入密码后,点击右下角的Continue 按钮,jenkins开始安装,短暂时间后,会弹出如下界面,选择安装的插件

Jenkins+github+maven自动构建发布SpringBoot项目_第3张图片

一般推荐大家使用官方推荐默认安装的插件,确定后,进入插件下载安装页面,等待下载安装…

Jenkins+github+maven自动构建发布SpringBoot项目_第4张图片

这个会稍微花费点时间…

Jenkins+github+maven自动构建发布SpringBoot项目_第5张图片

插件安装完毕后,跳转到(有些时候会跳到一个404页面,重新访问 ip:8080 即可)

Jenkins+github+maven自动构建发布SpringBoot项目_第6张图片
Jenkins+github+maven自动构建发布SpringBoot项目_第7张图片

输入用户密码,登录进入如下页面

Jenkins+github+maven自动构建发布SpringBoot项目_第8张图片

至此,jenkins服务安装启动完毕!

配置Jenkins插件

jenkins拥有各种各样的插件,我们可以在插件管理里面下载安装自己所需要的插件

Jenkins+github+maven自动构建发布SpringBoot项目_第9张图片

这里推荐几个必要的插件 Maven ,可以在插件管理-可选插件中搜索 Pipeline Maven Integration 或者 Maven Integration plugin (如果未安装次插件,新建job 时没有 maven 项目选项)
Publish Over SSH (支持配置 Publish over SSH)

Jenkins全局工具配置

配置工具环境 ,例如 JDK 、Maven、Git 、Gradle等编译工具,建议这些工具最好自己安装配置,不要使用Jenkins 的自动安装,一是jenkins下载是从国外网站下载,另外是版本问题,建议自己手动安装,配置如下:

Jenkins+github+maven自动构建发布SpringBoot项目_第10张图片

Jenkins+github+maven自动构建发布SpringBoot项目_第11张图片

安装Git
apt-get install git

安装后完毕后,使用 git –version 即可显示git 版本,通过

whereis git

查看git安装路径
Jenkins+github+maven自动构建发布SpringBoot项目_第12张图片

安装Maven这里写图片描述

Maven官方下载地址:http://maven.apache.org/download.cgi
我这里是下载的 apache-maven-3.5.2-bin.tar.gz (ps:个人习惯将自己安装的软件放在 /usr/local 目录下)
Maven也需要JDK环境…参考

  #将 apache-maven-3.5.2-bin.tar.gz copy 到此目录
  mkdir /usr/local/maven
  #解压文件到当前目录
  tar -xzf apache-maven-3.5.2-bin.tar.gz .

  #修改 conf文件夹下的setting.xml
  cd /usr/local/maven/apache-maven-3.5.2/conf

修改setting.xml 中的 localRepository 路径,此地址是下载jar文件的存储路径,路径可以自定义

 <localRepository>/path/to/local/repolocalRepository>

配置阿里云远程仓库(官方太慢…),在setting.xml 中的
节点中增加(并把setting.xml copy 到 /root/.m2 (用户根路径)文件夹下):

 <mirror>
        <id>nexus-aliyunid>
        <mirrorOf>*mirrorOf>
        <name>Nexus aliyunname>
        <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
 mirror>  

配置环境变量:

vim /ect/profile
# Maven配置
export M2_HOME=/usr/local/maven/apache-maven-3.5.2
export PATH=$M2_HOME/bin:$PATH

source /ect/profile

mvn -v

配置成功

全局工具配置结束

Jenkins 系统配置

此处只讲配置GitHub Servers,主要用于通过Webhooks 自动构建发布项目。
在系统配置页面找到GitHub Servers,如下图:

Jenkins+github+maven自动构建发布SpringBoot项目_第13张图片
勾上 Specify another hook URL for GitHub configuration ,它会默认生成一个地址,ip 是内网ip, 我这里是使用自己的github, 所以把ip 改成外网ip了,端口建议和jenkins端口保持一致。

配置github Webhooks

登录个人githup网站,选择一个项目,在Settings中的webhooks中点击 Add Webhook (我这里的页面是已经配置了一个…)
Jenkins+github+maven自动构建发布SpringBoot项目_第14张图片
具体如下图:
Jenkins+github+maven自动构建发布SpringBoot项目_第15张图片
这里我们配置Payload URL,即GitHub Servers中生成的地址。然后选择触发事件,案例中是选择了push事件,即没当github收到新的push都会告知jenkins. 然后点击保存即可。(ps:保存后页面上可能有红色叹号,只要地址正确即可,可忽略,触发一次后即显示正常。)

(ps:基础配置到此完毕...)

新建Job

我们这里用SpringBoot 项目作为案例

选择新建Job >> maven 项目(ps:如果没有mavn 项目选择,请参考插件配置)
Jenkins+github+maven自动构建发布SpringBoot项目_第16张图片

进入项目配置页面
Jenkins+github+maven自动构建发布SpringBoot项目_第17张图片
我这里使用了自己的github(https://github.com/)上面的项目,只需要将github 项目上的https地址复制过来即可(gitlab 同理),然后配置源码管理:
Jenkins+github+maven自动构建发布SpringBoot项目_第18张图片
点击Credentials Add 按钮,配置git 用户密码(ps:github公开项目pull 的时候不需要配置用户名密码,也可以配置ssh方式。)Branches to buildke可以配置要编译的分支
Jenkins+github+maven自动构建发布SpringBoot项目_第19张图片
构建触发器,即项目按照什么规则去build,这里是通过配置webhook 的push 事件触发(哪些事件会触发build 是有github上的配置决定的)
Jenkins+github+maven自动构建发布SpringBoot项目_第20张图片
配置mvn命令,shell脚本(ps:脚本写的比较烂这里写图片描述) jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免,value可以任意…
Jenkins+github+maven自动构建发布SpringBoot项目_第21张图片
然后点击保存,修改代码push到github,稍微等待以后即可看到
Jenkins+github+maven自动构建发布SpringBoot项目_第22张图片
点击进度条,进入编译详情页面,查看日志,此时已经从github拉取代码:
Jenkins+github+maven自动构建发布SpringBoot项目_第23张图片
最终编译成功:
Jenkins+github+maven自动构建发布SpringBoot项目_第24张图片
然后访问自己的应用~

ps: 有不足之处还请多多指教,如有交流可QQ联系: 1050215723

后面准备写一写:jenkins和部署主机之间的免密登录和远程脚本调用,以及和Docker的结合… 实现CI/CD

你可能感兴趣的:(Jenkins)