02-Jenkins的基本概念以及项目构建
接上篇:
Jenkins安装启动入门详解【避坑+安装包提供】-CSDN博客;
2.1-基本概念以及配置
2.1.1-Pipeline
pipeline相当于就是一个流水线,何为流水线,意思就是把一个自动构建、测试、打包、部署集一体。
2.1.2-JenkinsFile
JenkinsFile就是定义pipeline流程的一个文件,JenkinsFile支持Groovy语法,通过Groovy来设置项目的构建打包部署等。
2.1.3-关于Jenkins的两个配置文件
/etc/sysconfig/jenkins
:这个文件是Jenkins的配置文件,接下来我们来解读这个配置文件的几个主要配置JENKINS_HOME
:【默认值:/var/lib/jenkins】这个是配置Jenkins的工作目录,这个目录下存放了我们从git上拉取的代码等,这里将其工作目录设置成我们自己想存放的目录JENKINS_USER
::【默认值:jenkins】这个配置是配置我们运行Jenkins时候使用的Lunix的用户,我们上边之所以要改成root是因为我们没有创建jenkins这个用户JENKINS_PORT
::【默认值:8080】这个是指定我们运行的Jenkins的启动端口号JENKINS_JAVA_OPTIONS
:这个配置是我们去下载插件时候验证的密钥信息,我们之所以要修改是因为这个版本的密钥已经不安全了,所以会报错,我们添加-Dhudson.model.DownloadService.noSignatureCheck=true
表示跳过认证,这样就可以下载了
/etc/init.d/jenkins
:这个文件其实是Jenkins的启动脚本,里面有一些配置都是读取的/etc/sysconfig/jenkins
中的,接下来 介绍几个主要配置。JENKINS_WAR
:【默认值:/usr/share/java/jenkins.war】这个是Jenkins的war包所在的地址,我们也可以通过java -jar直接运行这个jar包,如果直接java -jar运行Jenkins,那么使用的配置都是默认的JENKINS_CONFIG
:这个配置就是读取的上面配置文件,也就是/etc/sysconfig/jenkins
candidates
:这个是配置运行的jdk中java指令,指定使用哪个目录下的java来运行jenkins
/root/.jenkins/plugins
:这个路径通常用来存放Jenkins下载的插件
2.2-Jenkins自动化部署的使用
2.2.1-插件安装
在进行全局设置之前应当进行插件的安装,如下所示,进入插件管理界面
搜索maven、git插件进行安装,如下图所示,这里就不一一举例安装插件了
2.2.2-Jenkins全局设置
插件安装完成后,如图所示进入全局设置界面
maven配置文件,这里填写自己maven配置文件的路径
jdk配置,这里填写jdk安装路径
git配置,这里可以选填,如果配置了git的环境变量就可以不用设置
maven路径配置,这里填写自己maven的安装路径
2.2.3-构建项目
1、选择新建maven项目
新建项目之后,我们来到如下界面,我们解释一下主要板块的作用
General(常规设置)
:对构建项目进行一些描述Source Code Management(源码管理)
:在这个配置模块中,设置代码仓库的地址,代码仓库的账号密码等Build Triggers(构建触发器)
:用来设置项目的构建条件,这里不进行详述,感兴趣自行百度Build Environment
:构建的环境,指令指定一系列键值对,这些键值对将被定义为所有step或特定stage的step的环境变量Pre Steps
:构建前执行,可以通过shell脚本设置Build
:指定如何进行构建Post Steps
:构建之后的步骤,可以通过shell脚本设置
由于我们这里只进行一个简单的小案例,就不会去配置各种构建触发策略之类的了,只进行简单的手动构建
2、设置git源码地址
输入git账号密码保存后,然后在点击Credentials下拉框,选择我们刚刚保存的
3、编写maven的构建指令,这里的意思是先通过maven执行clean、然后再package
#清除、然后再打包、跳过测试
clean package -Dmaven.test.skip=true
值得注意的是,在实际项目中,我们打包需要指定对应的配置文件,我们可以通过如下的maven命令
#-Pdev说明我们指定dev配置文件进行打包
clean install -Pdev -Dmaven.test.skip=true
这样我们就指定了打包的配置文件,这其实就是maven中打包的指令,只不过在具体项目中需要注意一下。
4、编写构建之后运行项目脚本
脚本内容如下
#这个BUILD_ID的主要是用来防止会杀死 nohup java 这个子进程
BUILD_ID=DONTKILLME
echo "移动jar包到我们存放jar包的目录,并去掉版本号名称"
if [ ! -d "/opt/projectJar" ];then
mkdir /opt/projectJar
else
echo "文件夹已经存在"
fi
if [ ! -f "/opt/projectJar/learn-0.0.1-SNAPSHOT.jar" ];then
echo "文件不存在"
else
rm -f /opt/projectJar/learn-0.0.1-SNAPSHOT.jar
fi
mv -f /usr/local/jenkins/workspace/jenkins-test/web-test/target/learn-0.0.1-SNAPSHOT.jar /opt/projectJar/learn-0.0.1-SNAPSHOT.jar
echo "移动jar包完成"
echo "启动testJenkins服务"
nohup java -jar /opt/projectJar/learn-0.0.1-SNAPSHOT.jar > /opt/projectJar/learn.log 2>&1 &
echo "启动testJenkins服务完成"
5、进行项目的构建
设置完后点击保存,然后回到首页,进行我们项目的构建,点击test,
进去之后可以看到我们创建的项目的具体信息,如下图所示
至此,我们的Jenkins的项目构建部署就完成了,现在可以通过你自己在那个shell脚本里写的端口号,对你的项目进行访问了
小结
其实我们上述通过图形化界面构建项目的时候,就是创建了一个流水线,我们图形化界面配置的内容,最后会被Jenkins生成成一个JenkinsFile文件,关于JenkinsFile本文只有些许介绍,具体可以自行百度搜索。