当前位置: 首页 > article >正文

阿里云效自动化部署 Docker镜像

1.登录阿里云效,将代码上传到云效当中,我这边选择的是将gitee拉进来,自行选择

 2.新建流水线, 选择可视化编排

 进去之后会有两个任务, 一个java构建测试上传, 一个主机部署,需要编写相应脚本

java构建测试上传

这里的配置看自己需求选择相应的,我用得是Linux

看自己所对应的版本选择

 

# maven build default command
# maven build default command
mvn clean package -P dev

# gradle build default command
# ./gradlew build

# ant build default command
# ant

这个就是脚本命令 -P dev 是选择动态配置的

打包路径是你对应的微服务的jar包的相对路径,不是绝对路径  这是我对应的

smart-health-modules/smart-health-search/target/smart-health-search.jar

主机部署

这便就选择对应的主机,也就是你的服务器,下载路径是打的包到服务器的位置我这里就是

/home/admin/app/package.tgz 

部署脚本 

# 部署脚本会在部署组的每台机器上执行。一个典型脚本逻辑如下:先将制品包(在下载路径中配置的下载路径)解压缩到指定目录中,再执行启动脚本(通常在代码中维护,如示例中deploy.sh)。关于这个例子的详细解释见 https://help.aliyun.com/document_detail/153848.html 

tar zxvf /home/admin/app/package.tgz -C /package/smart-health-manager

cd /package/smart-health-manager

chmod +x start.sh

./start.sh
# 如果你是php之类的无需制品包的制品方式,可以使用git clone 或者 git pull将源代码更新到服务器,再执行其他命令 
# git clone ***@***.git

 

这个是将打的jar包放到这个目录下

这样流水线大致就完成了保存即可

服务器:

需要安装 docker-compose 自行搜索

在跟目录创建 /package/smart-health-manager 这个路径 跟上边一致即可

 新建一个文件 docker-compose.yml

version: '3.3'  # 使用 3.3 或 2.2,确保版本兼容

services:
  smart-health-file:
    container_name: smart-health-file
    image: smart-health-file
    build:
      context: /package/smart-health-manager/smart-health-modules/smart-health-file/target  # 构建上下文
      dockerfile: Dockerfile  # Dockerfile 文件
    ports:
      - "2008:2008"
    networks:
      - frontend
      - backend  # 将服务连接到 frontend 和 backend 网络
    volumes:
      - db-data:/data/db  # 将 db-data 卷挂载到容器的 /data/db 目录

networks:
  frontend:
  backend:

# 定义卷
volumes:
  db-data:

 start.sh文件 

# 停止并移除旧容器及相关网络和卷
docker-compose down

docker rmi smart-health-search
docker rmi smart-health-file
docker rmi smart-health-rests
docker rmi smart-health-test
docker rmi smart-health-wordmate


# 重新构建并启动容器
docker-compose up -d --build  # 使用 --build 选项确保重新构建镜像

 jar目录下要编写一个Dockerfile文件 

Dockerfile 

# 指定基础镜像
FROM openjdk:17
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR /opt/docker/images/metabase/
#将当前spring.jar 复制到容器根目录下
ADD smart-health-file.jar smart-health-file.jar
#将依赖包 复制到容器根目录/libs下,spring.jar已不再需要添加其它jar包
#ADD libs /libs
#暴露容器端口为8080 Docker镜像告知Docker宿主机应用监听了8080端口
EXPOSE 2008
#容器启动时执行的命令
CMD java -jar smart-health-file.jar

http://www.kler.cn/a/467578.html

相关文章:

  • 【LC】2469. 温度转换
  • 华为设备的VRP系统详解
  • MarkDown 的 mermaid gantt(甘特图)、mermaid sequenceDiagram (流程图) 语法解析和应用
  • 【2025年最新】OpenWrt 更换国内源的指南(图形界面版)
  • Linux下编译安装PETSc
  • 安卓漏洞学习(十七):维京海盗-Strandhogg漏洞
  • 电子电气架构 --- 整车整车网络管理浅析
  • 时序数据库对比
  • Vue项目中生成node_modules文件夹的两种常用方法及npm优势
  • 曲速引擎前端代码生成器 6.6.0 介绍二
  • 《计算机网络A》单选题-复习题库解析-3
  • python——对三大语句的补充、对象的内存分配
  • 友元和运算符重载
  • [网络安全]shiro安全框架基本原理
  • RabbitMq的Java项目实践
  • 1、ELK的架构和安装
  • 黑马Java面试教程_P11_技术场景
  • NAT网络技术
  • 基于Node.js + Koa2 + MySQL + TypeScript的应用示例
  • 现代光学基础-3
  • 第十四届蓝桥杯Scratch省赛中级组—智能计价器
  • Linux下shell命令之netstat详解及示例
  • 第六十四章 假脱机设备 - 使用 %SPOOL 打印
  • 深度解析与实践:HTTP 协议
  • 25/1/14 算法笔记<强化学习> 生成对抗模仿学习
  • Navicat 17 for Mac 数据库管理软件