官方版:Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
作者版:写完代码提交到仓库就自动部署。
在window上写SpringBoot项目,写完代码后pull到github上可以自动打包并且运行jar
仓库使用Github,仓库使用Github,仓库使用Github,如果使用Gitee,那么webhook那个地方会有个坑,注意一下
Linux(能连外网)+JDK8 + Git+Github+Maven会配置并且使用
安装Maven:linux安装maven简易步骤 - 简书
配置Maven中央镜像:Maven中本地仓库,中央镜像,JDK版本配置_CBeann的博客-CSDN博客
1)其中配置远程镜像仓库的setting.xml在 apache-maven-3.6.3/conf 目录下
2)注意自己的目录问题
yum -y install git
git --version
(博客肯定有自己的目录,但是我在这里写的不是废话,有助于阅读全文)
1)Linux安装Jenkins:Linux怎么安装Jenkins(比如下载Maven并且配置了Maven的环境的变量)
2)Jenkins全局配置:设置Jenkins的一些全局属性(比较安装好Maven后你要设置仓库镜像地址、本地仓库地址等)
3)在IDEA中创建Boot项目并且传到github:就是简单的创建项目并且上传打github
4)创建Jenkins任务关联项目:核心操作
4.1)源码管理:关联github,自动部署要有仓库吧,这个地方设置仓库URL和其他验证信息。
4.2)构建触发器:触发构建的前提条件,就是满足什么条件才能触发构建条件,此处是访问某个 URL 时就触发了构建模块。
4.3)构建:核心逻辑,此处就是把仓库里的代码 clean install
4.4)构建后操作:当构建完毕后执行的操作,此处就是 构建的结果是xx.jar , 构建后操作就是执行jar呗
4.5)手动构建:测试一下构建是什么操作,其实就是手动触发构建,只有手动正确了自动才放心。
5)配置github的webhooks:关联jenkins触发器,当github仓库有pull请求时候就触发构建触发器,从而执行构建操作。
下载最新的 jenkins.war (http://mirrors.jenkins.io/war-stable/latest/jenkins.war)
把war包放在tomcat服务器里
在浏览器输入 http://39.105.30.146:8080/jenkins/
然后跳转到如下页面,其中密码在图中已经告诉你位置
cat /root/.jenkins/secrets/initialAdminPassword
输入密码后点击右下角的继续
下一步
全部安装成功以后,很久以后。。。如下图所示,选择admin用户,密码为上面的密码
如下图所示
安装成功后如图所示
这个没啥好说的,就是一个SpringBoot项目
目的
当访问(http://39.105.30.146:8080/job/jkdemo/build?token=jkdemo123)时,会构建触发器去构建项目
配置
格式:JENKINS_URL/ job/jkdemo/build?token=TOKEN_NAME
===>>>
实例:http://39.105.30.146:8080/job/jkdemo/build?token=jkdemo123
注意:下图可能没有Post build task 选项 ,需要安装插件 Post Build task,安装插件方式在遇到的问题中
脚本的内容大致为:把xxx.jar包从仓库复制到某个地方,然后获取正在运行的xxx.jar的进程ID,然后关闭,在运行java -jar xxx.jar
脚本需要修改,不能直接用
#!/bin/bash
cp /root/.m2/repository/com/example/jkdemo/0.0.1-SNAPSHOT/jkdemo-0.0.1-SNAPSHOT.jar /opt/cbeann/jkdemo-0.0.1-SNAPSHOT.jar
your_name=$(ps -ef | grep jkdemo-0.0.1-SNAPSHOT.jar | grep -v grep)
#echo ${your_name}
array=(${your_name// / })
process_id=${array[1]} ##获得进程ID
kill -9 ${process_id}
java -jar /opt/cbeann/jkdemo-0.0.1-SNAPSHOT.jar &
点击左边的 立即构建,就会出现 左下角的 进度条
进度条完毕后会出现工作区,里面放着源代码
修改tomcat-8.5.55\bin\catalina.sh
JAVA_OPTS="-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"
以安装插件 Post Build task 为例