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

news/2024/12/17 7:47:56/

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

2.配置流水线源

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

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

脚本说明

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

deploy.sh

image_name=ry-admin
id=$(docker ps -a | grep ${image_name} | awk '{print $1}')
if [ -n "$id" ]; thenecho "Removing container with ID: $id"docker rm -f $id
elseecho "No container found with name '${image_name}'."
fiid=$(docker images | grep ${image_name} | awk '{print $3}')
if [ -n "$id" ]; thenecho "Removing image with ID: $id"docker rmi -f $id
elseecho "No image found with name '${image_name}'."
fidocker compose -f /home/admin/ruoyi/compose.yaml up -d
echo "${image_name}部署成功!"

compose.yaml

name: java-app
services:ry-admin:build: .restart: alwayscontainer_name: ry-adminports:- '8080:8080'networks:default:external:name: devsoft_default

Dockerfile

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.jarENV 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包一起作为构建物上传,但是填写多个打包路径后在服务器上解压时路径没解决,只好提前放在服务器上


http://www.ppmy.cn/news/1555809.html

相关文章

Leetcode1847:最近的房间

题目描述: 一个酒店里有 n 个房间,这些房间用二维整数数组 rooms 表示,其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一个房间号 roomIdi 保证是 独一无二 的。 同时给你 k 个查询&#xff…

【SpringBoot】配置文件

在 Spring 项目中,我们必须自行创建 Spring 的配置文件,通常命名为 "spring-config.xml" 。但在 SpringBoot 中无需自行创建,在 SpringBoot 项目创建时就存在了即 application.properties 文件。它的用处: 设置项目的启动端口设置数…

简单的Java小项目

学生选课系统 在控制台输入输出信息&#xff1a; 在eclipse上面的超级简单文件结构&#xff1a; Main.java package experiment_4;import java.util.*; import java.io.*;public class Main {public static List<Course> courseList new ArrayList<>();publi…

【Linux 进程间的通信】匿名管道

匿名管道是UNIX系统进程间通信&#xff08;IPC&#xff09;的一种基本形式&#xff0c;它允许具有血缘关系的进程之间进行数据传输。在Linux环境下&#xff0c;匿名管道是通过内核中的缓冲区实现的&#xff0c;这个缓冲区的大小是有限的&#xff0c;通常由操作系统决定。匿名管…

如何持续优化呼叫中心大模型呼出机器人的性能?

如何持续优化呼叫中心大模型呼出机器人的性能&#xff1f; 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/lihaiya/freeipcc 持续优化呼叫中心大模型呼出机器人的性能是一个复杂而持续的过程&#xff0c;涉及多个层面的策略和措…

[图形渲染]【Unity】【游戏开发】Shader基础9 什么是固定管线渲染?

在图形渲染领域,**固定管线渲染(Fixed-Function Pipeline)**是一种历史悠久的渲染方法,曾是早期图形API(如OpenGL和DirectX)的核心设计思想。尽管它已经逐步被现代的可编程管线取代,但理解固定管线的概念对于学习图形渲染的演进和基础非常重要。 1. 什么是固定管线? …

STM32F407+LAN8720A +LWIP +FreeRTOS UDP通讯

STM32F407+LAN8720A +LWIP +FreeRTOS ping通 上一篇实现了LWIP ping 通 本篇实现UDP通讯 实现如下功能: 串口1空闲中断+DMA接收,收到数据用UDP发送UDP接收,收到数据用串口1发送STM32CUBEIDE配置和代码 1. 配置UARAT1的空闲中断+DMA接收 UART1接收到数据,释放信号量,在任…

【C++图论 二分图 DFS】785. 判断二分图|1624

本文涉及知识点 C图论 CDFS LeetCode785. 判断二分图 存在一个 无向图 &#xff0c;图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph &#xff0c;其中 graph[u] 是一个节点数组&#xff0c;由节点 u 的邻接节点组成。形式上…