阿里云效流水线部署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包一起作为构建物上传,但是填写多个打包路径后在服务器上解压时路径没解决,只好提前放在服务器上

相关推荐
zhumin7268 小时前
基于阿里云视觉智能平台实现换脸程序
阿里云·云计算
BinaryBoss9 小时前
服务器日志自动上传到阿里云OSS备份
运维·服务器·阿里云
云上的阿七13 小时前
如何通过云计算优化网站性能?
云计算
九河云14 小时前
腾讯CDN vs 阿里云CDN:哪个更适合你的业务?
数据库·阿里云·云计算
抠脚学代码14 小时前
ESP8266 MQTT服务器+阿里云
mqtt·阿里云·esp8266
来自外太空的鱼-张小张17 小时前
阿里云oss简单获取视频第一帧工具类
windows·阿里云·音视频
Akamai中国21 小时前
私有IP、VLAN和VPC,分别适合哪些场景你知道吗?
网络·网络协议·tcp/ip·云计算·云服务·云平台·vpc
KubeSphere 云原生1 天前
云原生周刊:K8s 生产环境架构设计及成本分析
云计算·k8s·容器平台·kubesphere
江中散人1 天前
【云原生布道系列】第三篇:“软”饭“硬”吃的计算
云原生·云计算
一水鉴天1 天前
为AI聊天工具添加一个知识系统 之49 “‘之47’和蒙板有关的术语”的腾讯云 AI 代码助手答问(部分)
人工智能·云计算