项目的开发过程:
以上图为例:代码在本地开发完成后,通过git,svn等版本控制工具部署至仓库中,在仓库中配置CI检查工具,对提交的代码进行必要的检查,以及将代码发布。代码检查与发布的过程,可以用Jenkins完成。
1.什么是Jenkins
[Jenkins是一款由Java编写的开源的持续集成工具。Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。]1.引用来自-维基百科
2.Jenkins的两种安装方式
- war包方式:
- 简单方便
- 和服务器环境绑定,所以需要配置服务器
wget https://wtff.oss-cn-shanghai.aliyuncs.com/jdk/jdk-8u241-linux-x64.tar.gz安装完成后,查看安装结果:
jdk1.8.0_241/bin/java -version配置环境变量:
- 使用vim打开
/etc/profile文件,在其中加入:
export JAVA_HOME=/home/yy/yy/java/jdk1.8.0_24 #根据自己的jdk安装路径而定 export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/binsource /etc/profile使更改生效javac -version查看环境变量是否生效
安装完java后,接下来安装Jenkins,由于使用war包安装,所以先去下载jenkins.war包,Jenkins官网就可以直接下载,但是速度也是非常之慢,这里推荐使用开源镜像,对于linux,使用如下命令:
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/jenkins.warWindows就直接把里面的url粘贴出来,访问即可。接下来使用命令:
java -jar jenkins.war --httpPort=8083启动jenkins并指定端口(jenkins默认是8080端口),启动完成后:
访问自己的ip:端口,即可看到Jenkins初始化页面:
解锁Jenkins,使用启动Jenkins时,复制页面上的这串密钥到其中,完成验证。选择插件栏,不选择任何插件,因为下载很慢:
创建root用户:
完成后,即可进入Jenkins的欢迎页面:
如果需要退出,则访问:
http://{id}:{port}/exit如图:
重启则访问:
http://{id}:{port}/restart - Docker方式 Docker方式安装就比较简单,可以直接去官网抄命令:
docker network create jenkins
docker run --name jenkins-docker --rm --detach \
--privileged --network jenkins --network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client \
--volume jenkins-data:/var/jenkins_home \
--publish 2376:2376 docker:dind
这一步,我启动的是jenkinsci/blueocean镜像,
docker run --name jenkins-blueocean --rm --detach \
--network jenkins --env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 --publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
jenkinsci/blueocean
命令执行完毕后,docker ps查看进程启动情况:
同时:可以在本机的8080端口,看到Jenkins的初始化页面:
解锁Jenkins使用
docker logs {pid}查看密钥:
接下来重复上面的步骤即可。
3.安装完成后,进行必要的配置
由于Jenkins持续集成需要配合Maven、Git等插件,所有需要在Jenkins进行配置。首先配置下载插件所使用的镜像源。
在高级选项中:
替换默认镜像源:
镜像源可以根据实际情况,自己设置,贴出我自己用的:
https://gitlab.com/jenkins-zh/update-center-mirror/-/blob/master/tsinghua/current/update-center.json
插件安装,
列举一些常用插件:
因为我前面docker启动的是jenkinsci/blueocean的镜像,所以会有自带的插件。
4.如何写Jenkinsfile完成项目的构建
Jenkins构建项目的方式有两种,一种可以通过Jenkins配置:
指定项目的代码仓库,执行的操作等,这种方式的有点在于简单直接,按照Jenkins的指示完成即可。但是,缺点在于重复,并且构建过程没有版本控制,无法定位某一状态的构建过程。
通过编写Jenkinsfile的方式,通过代码的方式,实现项目的自动构建。
在项目根目录下创建Jenkinsfile文件,在其中配置需要执行的命令:
pipeline {
agent {
docker { image 'circleci/openjdk:8u212-jdk-stretch' }
}
stages {
stage('Test') {
steps {
sh 'mvn clean verify'
}
}
}
}
内容很简单:指定docker的镜像,并且每次构建项目的时候,执行mvn clean verify命令。接下来在Jenkins中new Item->选择多分支流水线->选择代码仓库地址
在log中可以看到Jenkinsfile文件被找到了
进入项目分支,点击build now即可开始构建: