阿里云效自动化摆设 Docker镜像
1.登录阿里云效,将代码上传到云效当中,我这边选择的是将gitee拉进来,自行选择https://i-blog.csdnimg.cn/direct/4f2a4daa4259444e81a94dbcda753b7c.png
2.新建流水线, 选择可视化编排
https://i-blog.csdnimg.cn/direct/6054a7b683594c4d82187a634751506e.png
进去之后会有两个使命, 一个java构建测试上传, 一个主机摆设,必要编写相应脚本
java构建测试上传
这里的设置看自己需求选择相应的,我用得是Linux
https://i-blog.csdnimg.cn/direct/25e29d68f082447cad67d73b6d7c04e6.png
看自己所对应的版本选择
https://i-blog.csdnimg.cn/direct/078be092849a4b04bfcdbf949db36f87.png
# 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 是选择动态设置的
https://i-blog.csdnimg.cn/direct/e9a4b10b75924c2a9ad5efbf4146c5a7.png打包路径是你对应的微服务的jar包的相对路径,不是绝对路径 这是我对应的
smart-health-modules/smart-health-search/target/smart-health-search.jar
主机摆设
https://i-blog.csdnimg.cn/direct/dea52dffd9ae4e1db4aaaea8e251cadf.png
这便就选择对应的主机,也就是你的服务器,下载路径是打的包到服务器的位置我这里就是
/home/admin/app/package.tgz
https://i-blog.csdnimg.cn/direct/2d35e405b812453e8e49ddabb6489727.png
摆设脚本
# 部署脚本会在部署组的每台机器上执行。一个典型脚本逻辑如下:先将制品包(在下载路径中配置的下载路径)解压缩到指定目录中,再执行启动脚本(通常在代码中维护,如示例中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
https://i-blog.csdnimg.cn/direct/e59c12c0d2dd4069ab22e9f5a62a07c8.png
这个是将打的jar包放到这个目录下
如许流水线大致就完成了生存即可
服务器:
必要安装 docker-compose 自行搜索
在跟目录创建 /package/smart-health-manager 这个路径 跟上边同等即可
https://i-blog.csdnimg.cn/direct/16f3c1ebebe443e992dbf71e9e8e8300.png
新建一个文件 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:
https://i-blog.csdnimg.cn/direct/386b786d79214ad7a2bae0234879300d.png
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文件
https://i-blog.csdnimg.cn/direct/18e5a6336e134dd8b7a5d13331454905.png
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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]