使用jekins自动化部署git管理的spring boot项目到docker上
部署jekins
#部署
docker run -itd --name jenkins -u root -p 8081:8080 -p 50001:50000 --restart always -v /home/docker/jekins/jenkins_home:/var/jenkins_home jenkins:latest
#修改时区
docker exec -it jenkins /bin/bash
echo Asia/Shanghai > /etc/timezone
exit
docker container restart jenkins
初始化jekins
访问jekins页面ip:8081
#查看密码
docker exec -it jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
exit
安装默认插件
如有错误,更新插件源,重新下载
更新插件源
将Update Site的url换成国内源
https://updates.jenkins.io/update-center.json
改为
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
安装插件
进行系统配置
设置管理员邮箱
电子邮件通知
设置ssh部署服务器信息
配置全局环境变量
配置jdk
#查看默认jdk位置
docker exec -it jenkins /bin/bash
echo $JAVA_HOME
exit
配置maven
创建docker执行脚本
此处以/usr/local/aa为根路径
- 创建/usr/local/aa/yjzh文件夹
- 创建Dockerfile文件
############################################################
# Dockerfile to build yjzh
# Based on Ubuntu
############################################################
# 以openjdk:latest为基础源镜像
FROM openjdk:8
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
VOLUME /tmp
# 项目的 jar 文件作为 “app.jar” 添加到容器的
ADD yjzh.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss512k"
# 暴露端口号
EXPOSE 5555
# ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/urandom” 作为 Entropy Source
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
- 创建docker-web.sh
#!/bin/bash
docker container stop yjzh
docker rm yjzh
docker rmi radon/yjzh
cd /usr/local/aa/yjzh/
docker build -t radon/yjzh .
docker run -dti --name yjzh -p 5555:5555 radon/yjzh:latest
创建任务