通过git上传代码—>使用Jenkins构建自动打包—>把jar包打成docker镜像,运行在docker中
https://blog.csdn.net/zhou920786312/article/details/76473912
https://blog.csdn.net/zhou920786312/article/details/125832759
参考
Jenkins--基础--02--安装
Docker安装Jenkins(这是我部署的)
# 国内的插件仓库地址
http://mirror.xmission.com/jenkins/updates/current/update-center.json
目的是为了在linux中能执行shell脚本

安装完成重启一下Jenkins

系统管理–>系统配置


系统管理 —> 全局工具配置



server:
port: 8888
servlet:
context-path: /say
spring:
application:
name: demo1
#!/bin/bash
# JVM参数
JAVA_OPTS=
# 当JAVA_JVM_OPTS1长度大于0时为真
if [ -n "${JAVA_JVM_OPTS1}" ] ; then
JAVA_OPTS="${JAVA_OPTS} ${JAVA_JVM_OPTS1}"
fi
if [ -n "${JAVA_JVM_OPTS2}" ] ; then
JAVA_OPTS="${JAVA_OPTS} ${JAVA_JVM_OPTS2}"
fi
# 当LOG_OPTS长度==0时为真
LOG_OPTS=
if [ -z "${LOG_OPTS}" ] ; then
LOG_OPTS="-Dlogging.file.name=${LOG_FILE} -Dlogging.file.path=${LOG_PATH}"
fi
# 打印配置参数
echo "JVM启动参数:"${JAVA_OPTS}
echo "日志参数:"${LOG_OPTS}
java -server ${JAVA_OPTS} ${LOG_OPTS} -jar /opt/app/app.jar
FROM java:8
# 环境变量
# 内存参数
ENV JAVA_JVM_OPTS1=-Xms1024m
ENV JAVA_JVM_OPTS2=-Xmx1024m
#日志输出路径
ENV LOG_PATH=/var/log/demo1/
ENV LOG_FILE=/var/log/demo1/demo1.log
WORKDIR /opt/app
# 拷贝代码和配置文件
COPY *.jar /opt/app/app.jar
COPY ./config /opt/app/config
# 拷贝脚本到可执行目录
COPY docker-entrypoint.sh /usr/local/bin/
EXPOSE 8888
# 授予权限
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]

hello_world_docker




支持主流的github和gitlab代码仓库。
仓库地址
不操作

该选项会提供一个接口,可以用来在代码层面触发构建。
在其他工程构建后构建
当有更改push到gitlab代码仓库,即触发构建。




#!/bin/bash
# 服务名称
server_name=demo1
port=8888
# 项目目录
project_dir=/var/jenkins_home/workspace/hello_world_docker/$server_name
cp $project_dir/target/*.jar $project_dir/docker
# 进入docker目录
cd $project_dir/docker/
# 修改jar权限
chmod 755 *.jar
echo "看看docker能不能用"
docker -v
echo "停止$server_name容器"
# 停止容器
docker stop $server_name
echo "删除$server_name容器"
# 删除容器
docker rm $server_name
echo "删除$server_name镜像"
# 删除镜像
docker rmi $server_name
echo "打包镜像"
# 打包镜像
docker build -t $server_name .
echo "运行镜像"
# 运行镜像
docker run -d -p $port:$port --name $server_name $server_name
docker images

docker ps | grep demo1

http://192.168.187.171:8888/say/hello
