docker+jenkins打包构建镜像后.批量发布项目-远程发布

上一篇:springboot maven项目根据jenkins自动打包,并自动构建镜像上传阿里云镜像仓库
通过远程ssh执行脚本方式发布项目

准备

准备服务器(有无安装docker都可以.)

jenkins 安装插件:

安装插件

配置远程服务器

安装好后在系统管理->系统配置中找到 [SSH remote hosts] 配置服务器节点


服务器节点配置

添加凭据

如果有多个服务器就继续添加即可

配置项目

进入项目配置中 添加执行


1663818256874.png

1663818756449.png

应用保存

脚本如下-根据自己项目适当修改:

#!/bin/sh
#下载镜像,并且启动项目

#验证是否安装镜像  --如果本机装了docker 可以忽略这个判断, 干掉这个判断和下面的安装函数
echo "检查Docker是否已安装……"
docker -v
if [ $? -ne  0 ]; then
    #安装
    echo "==========开始安装docker=============";
    #结束yum 命令 如果有正在执行的安装进程,先结束
    pkill -9 yum
    #通过阿里云脚本安装
    #curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    #国内daocloud 安装,,速度比较快些
    curl -sSL https://get.daocloud.io/docker | sh
    echo "==========安装docker结束=============";
    echo "==========验证是否安装成功=============";
    docker -v
    if [ $? -ne  0 ]; then
      echo "安装失败!结束安装!";
      exit 1
    fi
    echo "==========docker安装成功=============";
    echo "==========启动服务|开机启动=============";
    systemctl start docker
    systemctl enable docker
    echo "==========配置镜像加速=============";
    mkdir -p /etc/docker
    echo '{ "registry-mirrors": [ "https://w0epqs17.mirror.aliyuncs.com" ] }' >> /etc/docker/daemon.json
    systemctl daemon-reload
    #重启
    systemctl restart docker
fi


#停止容器,删除
docker stop demo
docker rm demo

#删除镜像
echo "正在删除镜像..."
# 删除阿里云的镜像
DID=$(docker images | grep "你自己的阿里云仓库的命名空间/ali_demo" | awk '{print $3}')
if [ -n "$DID" ]; then
  echo "正在删除阿里云镜像"
  docker rmi -f $DID
fi

#登录阿里云仓库账号
docker login --username=你自己的阿里云仓库账号 --password=你自己的阿里云仓库密码 registry.cn-hangzhou.aliyuncs.com

#拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/你自己的阿里云仓库的命名空间/ali_demo:v1

#启动容器
docker run -d --name demo   --restart=always -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime  -p 8021:项目端口 registry.cn-hangzhou.aliyuncs.com/你自己的阿里云仓库的命名空间/ali_demo:v1

测试

然后点击立即构建 这几个节点即可完成部署…或者在idea中提交代码后…配置的几个节点就相继部署…

注意

一定要确保使用到的端口在服务器中已经打开

你可能感兴趣的:(docker+jenkins打包构建镜像后.批量发布项目-远程发布)