栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker+git+jenkins持续集成-自动部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker+git+jenkins持续集成-自动部署

测试项目(Spring boot 项目,部署jar包)
https://gitee.com/HP_mojin/jenkinstest01

121        #远端服务器名称已在前面配置好,系统配置-SSH Servers
target/jenkinsTest.jar    #打包后生成的源文件
target/   #移除的部分
/usr/java/dockerApp/jenkinsTest  #推送到远端部署服务器保存的目录


部署服务器端

Dockerfile文件

FROM java:8
MAINTAINER mojin
COPY jenkinsTest.jar app.jar
CMD java -jar app.jar
EXPOSE 8010

docker.sh


#!/bin/bash

echo "开始部署…………"


# 源jar路径  即jenkins构建后存放的路径
#SOURCE_PATH=/var/jenkins_mount/workspace
#SOURCE_PATH=/var/jenkins_mount/workspace/jenkinstest05/target

prot_r=8010
prot_c=8010
base_PATH=/usr/java/dockerApp/jenkinsTest
#docker 镜像/容器名字或者jar名字 这里都命名为这个【必须为小写】
SERVER_NAME=jenkinstest05
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像idls
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')

#echo "最新构建代码 $SOURCE_PATH/$SERVER_NAME/target/ms_backend.jar 迁移至 $base_PATH ...."
#把项目从jenkins构建后的目录移动到我们的项目目录下同时重命名下
#cp $SOURCE_PATH/jenkinsTest.jar $base_PATH/jenkinsTest.jar

echo "修改*.jar文件的权限"
chmod 777 $base_PATH/jenkinsTest.jar
#echo "迁移完成"

# 构建docker镜像
        if [ -n "$IID" ]; then
                echo "存在$SERVER_NAME镜像,IID=$IID"
				echo "停止运行中的容器:docker stop $CID"
                 docker stop $CID   # 停止运行中的容器
				 echo "删除原来的容器:docker rm $CID"
                 docker rm $CID     ##删除原来的容器
				 echo "删除原来的镜像:docker rmi $IID"
                 docker rmi $IID   ## 删除原来的镜像
				 

        else
                echo "不存在$SERVER_NAME镜像,开始构建镜像"
                     
       fi
       

 # 构建镜像 
echo "构建镜像"
cd $base_PATH
echo "docker build -t $SERVER_NAME ."  
docker build -t $SERVER_NAME .
echo "$SERVER_NAME 容器创建完成"

# 运行容器
 # --name docker-test                 容器的名字为docker-test
 #   -d                                 容器后台运行
 #   -p 8090:8090 指定容器映射的端口和主机对应的端口都为8090
 #   -v /usr/local/dockerApp/blog-parent:/usr/local/dockerApp/blog-parent   将主机的/usr/local/dockerApp/blog-parent目录挂载到容器的/usr/local/dockerApp/blog-parent 目录中
#docker run --name $SERVER_NAME -v $base_PATH:$base_PATH -d -p $prot_r:$prot_c $SERVER_NAME
echo "$SERVER_NAME 容器开始运行:docker run -d -p $prot_r:$prot_c $SERVER_NAME"
docker run -d -p $prot_r:$prot_c $SERVER_NAME
echo "完成部署。"



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号