阿里云效流水线部署springboot项目

1.新建流水线,选中部署到阿里云ECS

2.配置流水线源

3.java构建上传,其他都可以默认,打包路径填写jar包路径.(切记不要填写多个打包路径,否则后面会解压到别的目前,暂未解决)

4.主机部署,部署脚本是解压和执行脚本

脚本说明

deploy.sh、compose.yaml、Dockerfile这三个脚本要提前放到服务器对应的目录

deploy.sh

bash 复制代码
image_name=ry-admin
id=$(docker ps -a | grep ${image_name} | awk '{print $1}')
if [ -n "$id" ]; then
  echo "Removing container with ID: $id"
  docker rm -f $id
else
  echo "No container found with name '${image_name}'."
fi

id=$(docker images | grep ${image_name} | awk '{print $3}')
if [ -n "$id" ]; then
  echo "Removing image with ID: $id"
  docker rmi -f $id
else
  echo "No image found with name '${image_name}'."
fi

docker compose -f /home/admin/ruoyi/compose.yaml up -d
echo "${image_name}部署成功!"

compose.yaml

bash 复制代码
name: java-app
services:
  ry-admin:
    build: .
    restart: always
    container_name: ry-admin
    ports:
      - '8080:8080'

networks:
  default:
    external:
      name: devsoft_default

Dockerfile

bash 复制代码
FROM openjdk:8-jre-alpine
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV APP_PATH=/apps
WORKDIR $APP_PATH

# 将当前目录下的jar包复制到docker容器的/目录下
ADD *.jar $APP_PATH/app.jar

ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
ENV PARAMS="--spring.profiles.active=prod"

EXPOSE 8080
# 指定docker容器启动时运行jar包
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar $APP_PATH/app.jar $PARAMS" ]

本来这三个脚本是放在springboot项目中的,打算和jar包一起作为构建物上传,但是填写多个打包路径后在服务器上解压时路径没解决,只好提前放在服务器上

相关推荐
SAP工博科技17 分钟前
深圳市富力达:SAP一体化管理助力精密制造升级 | 工博科技SAP客户案例
科技·云计算·制造
阿里云大数据AI技术2 小时前
演讲实录:中小企业如何快速构建AI应用?
大数据·人工智能·云计算
@t.t.2 小时前
利用脚本搭建私有云平台,部署云平台,发布云主机并实现互连和远程连接
运维·云计算·openstack
国际云,接待3 小时前
腾讯云国际版服务器从注册到使用的完整流程指南
运维·服务器·阿里云·架构·云计算·腾讯云·csdn开发云
泛黄的咖啡店4 小时前
域名系统DNS
运维·云计算
九河云4 小时前
汽车制造行业如何在数字化转型中抓住机遇?
科技·重构·云计算·汽车·制造
捂一捂啊啊18 小时前
腾讯云系统盘占满
云计算·腾讯云
腾讯云大数据18 小时前
腾讯云ES一站式RAG方案获信通院“开源大模型+软件创新应用”精选案例奖
大数据·elasticsearch·开源·云计算·腾讯云
国际云,接待1 天前
[特殊字符]服务器性能优化:从硬件到AI的全栈调优指南
运维·服务器·人工智能·阿里云·性能优化·架构·云计算
信服云1 天前
拥有600+门店的宠物连锁医院,实现核心业务系统上云
云计算