- 一、 什么是Jenkins
- 二、 安装Jenkins
- 三、 配置Jenkins
- 四、 项目管理
- !/bin/bash 代表下述命令基于bash环境脚本化执行。
ID=ps -ef | grep "test_jenkins" | grep -v "grep" | awk '{print $1}'
基于ps命令查看进程信息。基于grep命令过滤需要的查询的进程信息(当前构建的项目,其项目名称是test_jenkins,过滤的时候基于项目名称筛选需要的进程);和需要剔除的信息(使用-v参数,提出筛选出的grep进程信息)。基于awk命名查看具体的进程编号($数字代表输出第几个信息)。并保存进程编号到变量ID中。
kill -9 $ID 使用kill命令杀死对应编号的进程。
cd /var/jenkins_home/workspace/test-jenkins-1/target 进入到jenkins中当前项目的工作目录,此地址由固定地址格式,具体是 /var/jenkins_home/workspace/项目名称/target。其中target是maven项目中编译后的目标目录。
rm -rf ~/test_jenkins-1.0-SNAPSHOT.jar 删除当前登录用户主目录中的jar文件。即当前任务构建后的jar文件。
cp ./test_jenkins-1.0-SNAPSHOT.jar ~/test_jenkins-1.0-SNAPSHOT.jar 复制当前构建任务打包后的jar文件到当前登录用户主目录中。
BUILD_ID=dontKillMe 通知jenkins,不要杀死当前构建过程中开启的其他进程。(默认情况下,jenkins在一次构建任务结束后,立刻关闭|杀死所有当前构建任务开启的其他进程,保证整体环境的安全。)
nohup java -jar ~/test_jenkins-1.0-SNAPSHOT.jar & 开启新的进程,并启动当前构建任务打包的jar应用。
一、 什么是Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
二、 安装Jenkins
1 下载Docker镜像
docker pull jenkinsci/blueocean |
---|
2 创建并启动容器
jenkins启动后占用两个端口号。分别是8080和50000。创建容器时,额外提供的端口映射8181是后续测试自动构建的Spring Boot项目占用的端口。
docker run -d -p 8080:8080 -p 50000:50000 -p 8181:8181 —name jenkins jenkinsci/blueocean |
---|
商业化环境中,Jenkins是由运维人员管理维护,会使用远程控制的方式来动态构建项目。不需要特殊提供额外的端口映射(8181)。
3 初始化
jenkins第一次启动的时候耗时较长,一般需要3~10分钟左右。完整启动后,可以访问”http://docker宿主机IP:8080/“ 进入jenkins控制台。
初始密码在docker日志中可见,也可以在文件/var/jenkins_home/secrets/initialAdminPassword 中查看。
4 下载插件
Jenkins安装后,只有基本控制能力。想完成持续构建工作,则需要下载若干插件。其中推荐插件为jenkins社区中最常用的插件组,可以处理绝大多数持续集成需求。
安装插件需要一定时间,需耐心等待。
5 创建管理员
6 实例配置[可选,可跳过]
实例配置是用于设置当前jenkins控制台的访问URL。默认是当前Jenkins所在服务器IP:8080。如需设置域名或主机名访问,可以手工修改;当前也可以跳过。
7 安装完成
8 初始控制台
三、 配置Jenkins
1 配置JDK
访问jenkins容器,并查看容器中安装的JDK路径,即环境变量JAVA_HOME。
设置jenkins中的JDK。具体如下图:
2 配置Maven
3 配置GIT
4 保存配置
在配置页面底部由保存配置按钮。必须点击保存。否则当前页面中所有配置不生效。
四、 项目管理
1 新建Item
2 项目基本信息
3 项目源码管理
4 构建环境
5 构建
5.1 添加顶层Maven目标
5.2 添加Shell脚本
具体脚本内容如下:
#!/bin/bash ID= ps -ef | grep "test_jenkins" | grep -v "grep" | awk '{print $1}' kill -9 $ID cd /var/jenkins_home/workspace/test-jenkins-1/target rm -rf ~/test_jenkins-1.0-SNAPSHOT.jar cp ./test_jenkins-1.0-SNAPSHOT.jar ~/test_jenkins-1.0-SNAPSHOT.jar BUILD_ID=dontKillMe nohup java -jar ~/test_jenkins-1.0-SNAPSHOT.jar & |
---|