上一篇: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中提交代码后…配置的几个节点就相继部署…
注意
一定要确保使用到的端口在服务器中已经打开
网友评论