最快的方式带你走近Jenkins

347 阅读3分钟

简介

Jenkins是一款开源的基于Java的持续集成工具。本文通过实现git push一键部署springboot项目的例子,带领大家初窥Jenkins。

三个概念

  • 持续集成(Continuous integration),简称CI.在公司中,开发人员每天上班克隆一个自己的分支,下班前将分支进行合并,但是随着开发人员越来越多,代码也越来越多,每天下班之前要花很长时间进行人工合并代码,为了解决这样的情况,将合并的周期缩短,以前每天合并,改为每小时或者没半小时进行合并,随时随地的将代码进行合并,这种方法叫做持续集成
  • 持续交付(Continuous delivery),简称CD.当开发上传自己的代码到gitlab,gitlab发消息通知jenkins,随后jenkins从仓库拉取代码,最后全自动部署到测试服务器进行相关测试,并将测试结果通知运维和开发,这种方法叫做持续交付
  • 持续部署(Continuous deployment),简称CD.持续部署是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境,持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产进阶

部署jdk

- yum install java-1.8.0-openjdk* -y
- which java
//查询到的是java的执行路径,不是安装路径
- ls -lrt /usr/bin/java
- ls -lrt /etc/alternatives/java 
//安装路径(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64)

部署maven

- mkdir maven
- cd maven/
- wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
- tar -zxvf apache-maven-3.5.4-bin.tar.gz
- vim /etc/profile 
- M2_HOME=/home/maven/apache-maven-3.5.4
- export PATH=${M2_HOME}/bin:${PATH}
- source /etc/profile

部署git

- yum  install git -y

Jenkins

- cd /home
- mkdir jenkins
- cd jenkins/
- wget http://mirrors.jenkins.io/war/latest/jenkins.war 
//读者也可以下载了传上去
- nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war >log.out &
//在启动Jenkins的时候直接通过Java选项来关闭Jenkins杀掉所有衍生进程的这个功能,&为后台运行,不可省略

cat /root/.jenkins/secrets/initialAdminPassword 
//粘贴进去

点击系统管理 ==>> 全局工具配置 ==>> JDK

==>> git

==>> Maven

==>> 保存 回到主界面 ==>> 新建任务

==>> 配置git

==>> 配置触发器

==>> 配置构建的shell

source /etc/profile
pid=`ps -ef | grep java |awk '{print $10 $2} ' `
for path in ${pid[@]}
  do
     if [[ $path =~ "jenkins_demo-0.0.1-SNAPSHOT.jar" ]]
        then
        kill -9  ${path#*jenkins_demo-0.0.1-SNAPSHOT.jar}
     fi
done
cd /root/.jenkins/workspace/jenkins_demo
mvn clean package
cd target/
nohup java -jar jenkins_demo-0.0.1-SNAPSHOT.jar --server.port=8018 >log.out &

shell脚本可以选择在linux里写好,例如写一个test.sh,chmod授权,放在/home下,这里直接写sh /home/test.sh,如果是tomcat+ssm那种,就把war用mv命令移到tomcat下,直接sh startup.sh,用shell脚本有极大的灵活性。

快速搭建springboot

start.spring.io/

下载下来,github上自己创建一个仓库jenkins_demo,git clone下来,把下载的zip包解压进入,写一个controller层代码作为测试,git上去。

配置Webhooks

Jenkins==>>系统管理 ==>> 系统设置

github

构建

git push一下,触发构建

总结

本文提供了一个快速入门的例子,后续会逐步更新。文章出现谬误之处,希望大家指出,互相交流。