ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins+Svn+Docker搭建持续集成环境 自动部署(单机子脚本文件)

2022-07-02 11:36:30  阅读:174  来源: 互联网

标签:Svn docker NAME RUNENV MODULE echo Jenkins Docker IMAGE


1、docker_build.sh

#!/bin/bash
RUNENV=$1
MODULE=$2
VERSION=$3

echo "环境: ${RUNENV}"
# 镜像名称
IMAGE_NAME="${MODULE}:${VERSION}"
echo $IMAGE_NAME >> IMAGE_NAME

echo "update image to: ${IMAGE_NAME}"
# 停止容器
docker stop ${MODULE}
# 删除容器
docker rm ${MODULE}
# 减少磁盘空间 删除镜像
docker rmi -f $(docker images | grep ${MODULE})
# 重新构建镜像
docker build --build-arg RUNENV=${RUNENV} -t ${IMAGE_NAME} .

2、Dockerfile

FROM airdock/oraclejdk
MAINTAINER han 1445496485@qq.com


ARG RUNENV=${RUNENV}
ENV RUNENV=${RUNENV}

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN mkdir -p /var/yjz/demo \
    echo ${RUNENV} > /tmp.properties

COPY target/demo.jar /var/yjz/demo/app.jar

WORKDIR /var/yjz/demo

ENTRYPOINT ["java","-jar","app.jar","--spring.profiles.active=${RUNENV}"]

# EXPOSE命令只是声明了容器应该打开的端口并没有实际上将它打开!
# 我们声明了EXPOSE端口之后,我们使用-P命令进行随机映射的时候,是会对这个端口进行映射的。
# 比如说我们现在对一个tomcat容器进行EXPOSE 9999声明,那么我们进行-P随机映射的时候是会对9999端口进行映射的。
EXPOSE 8063:8063

3、start.sh

#!/bin/bash

PORT=$1
MODULE=$2
VERSION=$3

IMAGE_NAME="${MODULE}:${VERSION}"

echo "目录:" $(pwd)
echo "模块:" ${MODULE}
echo "端口:" ${PORT}

./docker_deploy.sh ${PORT} ${IMAGE_NAME} ${MODULE}

4、docker_deploy.sh

#!/bin/bash

PORT=$1
IMAGE=$2
MODULE=$3


docker run -d -p ${PORT}:8070 -v /home/logs:/home/logs --name ${MODULE} ${IMAGE}

 

标签:Svn,docker,NAME,RUNENV,MODULE,echo,Jenkins,Docker,IMAGE
来源: https://www.cnblogs.com/qq1445496485/p/16436940.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有