基于Docker安装Jenkins
1. 拉取Jenkins镜像文件 下载并安装
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
2. 关闭防火墙
systemctl stop firewalld
3. 进入容器
docker exec -it 容器ID /bin/bash
4. 获取密钥
cat /var/jenkins_home/secrets/initialAdminPassword
5. 点击系统管理,选择全局工具配置
6. 点击Add JDK,取消选中自动安装JDK
7. 使用echo $JAVA_HOME命令查询jdk默认安装地址
8. 填写jdk配置
9. 填写maven仓库配置
10. 点击系统管理,选择插件管理
11. 搜索Maven Integration
12. 安装完插件后填写账号密码信息
13. 然后再新建一个任务
14. 填写项目名称,选择构建一个Maven项目,点击OK按钮,Save按钮
15. 上传项目到码云或者GitLab(多种选择)
16. 点击新建的任务
17. 进行任务配置操作
18. 填写配置信息
19. 如果是私有项目,添加连接账号密码
20. 填写账号密码
21. 选择账号密码连接(也就是登录码云的账号密码)
22. 填写clean install 进行build操作 然后保存
23. 立即构建
24. 需要等待一段时间(第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包)自动打包
25. 到下面这个页面则为build成功
26. build成功后依然不能访问,因为需要执行shell脚本
#!/bin/bash
#服务名称
SERVER_NAME=jenkins-demo
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=jenkins-demo
# 源jar路径
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/jenkins-demo/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/jenkins-demo/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
echo "killed $id"
done
echo "结束进程完成"
#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
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
27. 点击进入任务的配置页面
28. 选择执行shell脚本
29. 将上面的shell脚本放入并保存
30. 如果还是不能访问则有可能是在启动jenkins的时候没有映射项目启动的端口号
- 重启容器
systemctl restart docker
- 清空未运行的容器
docker rm $(sudo docker ps -a -q)
- 映射端口号
docker run -p 8080:8080 -p 8087:8087 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
-p 8080:8080和-p 8087:8087为映射的端口号
31. 后台启动运行项目需要修改shell脚本
#!/bin/bash
#服务名称
SERVER_NAME=jenkins-demo
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=jenkins-demo
# 源jar路径
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/jenkins-demo/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/jenkins-demo/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
echo "killed $id"
done
echo "结束进程完成"
#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
32. 最后终于大功告成啦