新建Jenkins挂载目录
mkdir -p /docker/jenkins
授权
chown -R 1000:1000 /docker/jenkins/
查看文件权限
ls -nd /docker/jenkins/
下载启动Jenkins
docker run --name jenkins -p 8080:8080 -p 50000:50000 -v /docker/jenkins:/var/jenkins_home jenkinsci/blueocean
如果启动报错的话,修改虚拟机DNS即可
vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
访问 ip:8080
查看admin用户的默认密码
cat /docker/jenkins/secrets/initialAdminPassword
JDK配置
1.进入容器内部查看jenkins自带的jdk安装路劲:
docker exec -it jenkins /bin/bash
2.查看JDK安装路径
echo $JAVA_HOME
2.系统管理---全局工具配置
配置maven
安装jenkins对应的maven插件
找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本
插件名称 Maven Integration
新建一个发布任务
配置git信息
项目打包
构建项目:
jar包已经打包到了jenkins的目录下
编写启动shell脚本
复制以下脚本
#!/bin/bash
#服务名称,一般跟项目名称一致
SERVER_NAME=spring-boot-demo
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=spring-boot-demo-1.0-SNAPSHOT
# 源jar路径
#/docker/jenkins/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/spring-boot-demo/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/spring-boot-demo/target
echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | grep -v grep | awk '{print $1}'`
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
#后台运行jar
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
保存之后点击重新构建,就可以自动运行jar启动项目了
在容器里面访问
用浏览器访问失败:异网没有把docker容器的8899端口号映射出来到主机
重启docker并重新运行jenkins容器
service docker restart
docker rm jenkins
docker run --name jenkins -p 8080:8080 -p 8899:8899 -p 50000:50000 -v /docker/jenkins:/var/jenkins_home jenkinsci/blueocean
重新构建一次之后,浏览器访问