前言
我的centos服务器以及安装好了docker的,下面直接开始安装Jenkins
安装Jenkins
- 查看docker版本
docker -v
- docker 所有 image 文件
docker image ls
- 启动
docker
# service 命令的用法 $ sudo service docker start
# systemctl 命令的用法 $ sudo systemctl start docker
这里把Jenkins默认8080端口修改为8040
安装成功后:访问 http://39.102.56.91:8040/【账号为wulongbo,密码为wulongbo945108】
Jenkins配置
环境配置
这里 JAVA_HOME
路径 我们从服务器查
- 首先进入jenkins docker容器
docker exec -it jenkins /bin/bash
- 查看 java 版本
java -version
- 查看jdk的安装目录
echo $JAVA_HOME
- 安装maven
- 安装maven插件
Maven Integration
- 等待安装完毕后重启!
- 新建任务
- 配置
- 添加 Credentials
- 选择刚刚添加的账号密码
- 添加打包命令
- 保存
- 立即构建
- 点击进度条进入控制台
- 构建成功
- docker Jenkins容器寻找到jar包
- 自动化运行脚本【点击项目-->配置】
- 引入shell 脚本
JAR_PATH
和JAR_WORK_PATH
路径填写按如下截图寻找进入控制台copy
#!/bin/bash
## 服务名称(最好和发布名称相同)
SERVER_NAME=wulongbo
## 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可以选择war包,war包可以选择移动到tomcat的web-info下
JAR_NAME=springboot_son-0.0.1-SNAPSHOT
## 源jar路径
## demo项目目录
## target打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/wulongbo/target
## 打包完成之后把jar包移动到运行jar包的目录,work_deamon,work_deamon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/wulongbo/target/
echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "SERVER_NAME" | awk '{print $2}'`
echo "得到进程id: $PID"
echo "结束进程"
for id in $PID
do
kill -9 $id
done
echo "结束进程完成"
##复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
echo "复制jar包完成"
cd $JAR_WORK_PATH
## 修改文件权限
chmod 755 $JAR_NAME.jar
java -jar $JAR_NAME.jar
- 保存
- 重新构建
- 点击控制台,看到项目启动成功
curl 127.0.0.1:8012
查看容器内是否运行因为Jenkins 是通过容器部署,需要我们把端口号映射出来
- 停掉容器
systemctl restart docker
- 清空所有运行的容器
docker rm $(sudo docker ps -a -q)
- 加入 jar 包端口 8012
docker run -d --name jenkins -p 8040:8080 -p 8012:8012 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:2.222.3-centos
- 刷新Jenkins
- 再次构建服务
- 查看控制台输出
- 再次访问[http://39.102.56.91:8012/swagger-ui.html#/]
- java -jar 属于 前台启动方式导致一直在启动中,控制台一直转圈
- 修改为后台启动
java -jar $JAR_NAME.jar
替换为 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
- 删除刚刚启动的服务,重新启动
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。