SpringCloud,vue3应用使用AlibabaCloudToolkit自动化部署到远程服务器上的docker

AlibabaCloudToolkit

CloudToolkit是阿里出品的一款IDEA插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款IDEA插件不仅功能强大,而且完全免费!

CloudToolkit的安装是非常简单的,直接在IDEA的插件市场中搜索Cloud Toolkit然后进行安装即可。相比jenkins 真的简单,10分钟就能上手。

1.安装插件

插件安装完成后,打开左侧面板,右键Host图标我们就可以添加服务器的连接信息了,实现自动化部署之前需要先配置好连接信息;

2.配置服务器连接

3.自动化部署

准备Dockersfile文件和执行脚本

1.创建Dockersfile

复制代码
# 该镜像需要依赖的基础镜像
FROM amd64/openjdk:8-jre-alpine
#FROM --platform=linux/amd64 eclipse-temurin:21-jre-alpine
LABEL maintainer=""

#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN mkdir -p /mycrm-system-cloud

WORKDIR /mycrm-system-cloud

EXPOSE 15000

ADD ./mycrm-system-cloud-start-6.0.0.jar ./mycrm-system-cloud-start-6.0.0-x86.jar

CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar mycrm-system-cloud-start-6.0.0-x86.jar

2.创建执行脚本

思路:把jar包放到linux环境上,用linux环境的docker生成docker包再运行

复制代码
app_name='mycrm-start-x86:6.1.0 '
# 定义应用版本
app_version='1.0-SNAPSHOT'
# 定义应用环境
profile_active='prod'
docker stop ${app_name}
echo '----stop container----'
docker rm -f ${app_name}
echo '----rm container----'
docker rmi -f mycrm-system-cloud-start-x86
echo '----rm image----'
# 打包编译docker镜像
docker build -t app_name  .

#运行docker
echo '----build image----'
docker-compose -f  ../docker-compose-core-x86.yml up -d  mycrm-boot-system

#自己直接写docker run 命令也行,我这之前用的是 docker-compose

docker-compose-core-x86.yml 文件中 mycrm-boot-system 部分

3.将文件上传到服务器

这里将文件上传到服务器的/home/czy/webapps/docker_demo目录下

4.配置Deploy to Host

1.添加Deploy to Host

  1. 在IntelliJ IDEA界面右上方项目配置处选择框中单击Edit Configuration...。
  2. 在Run/Debug Configuration页面单击左上角+,选择Deploy to Host。

2.配置Deploy to Host

Target Directory:项目打包上传到服务器上的目录 /home/czy/webapps/docker_demo

After deploy:打包上传后执行的脚本 sh /home/czy/webapps/docker_demo/start.sh


3.修改高级设置,配置下查看容器日志的命令

此处配置docker logs -f docker_demo,可以在idea控制台看到容器运行后的日志

运行Deploy to Host

查看控制台输出的日志,程序输出INFO和ERROR日志

CloudToolkit常用功能

CloudToolkit的功能远不止于此,它内置了终端工具,在IDEA中管理Linux服务器,用它就够了,直接通过底部面板,点击终端按钮即可打开,通过上传功能也可以上传文件

5.配置vue3项目

vue3项目配置使用build配置

start.sh文件

上传后的文件

别的原理都一样,就不再赘述,只是在我配置的时候发现放上发现上传后的dist文件403访问不到,可能是权限的问题,我把原来的dist文件不再删除,直接覆盖就好了,先这样吧,主要是为了测试用,生产环境直接打docker包给运维了。

参考:

https://blog.csdn.net/weixin_45240169/article/details/126769748

https://help.aliyun.com/document_detail/167889.html

配置vue3参考:

https://segmentfault.com/a/1190000039053443

相关推荐
博观而约取厚积而薄发6 小时前
Pytest 从入门到精通,一篇就够(超详细实战教程)
python·测试工具·单元测试·自动化·pytest
imzed7 小时前
使用 Playwright + Pytest 构建 Web UI 自动化测试框架
python·自动化·pytest
交友如交7 小时前
对于Prompt的思考:从“手写”到提示词采样、A/B Test 与自动化评测
人工智能·自动化·prompt
Amy187021118237 小时前
告别“爬楼抄表”时代:电梯计量自动化改造,让每一度电都“开口说话”
运维·自动化
曦尧8 小时前
开源后台编程 Agent 系统 background-agents:架构拆解与落地判断
ai·自动化
hhb_6188 小时前
云原生AI工作流分布式调度实战
人工智能·云原生
阿里云云原生8 小时前
明文不扩散,日志仍可用:阿里云可观测敏感数据保护方案
云原生
梦想的颜色8 小时前
【Docker 原理】Docker 数据持久化完全指南:三种挂载原理、数据卷实操、数据库落地实战
docker·云原生·数据持久化·volume·数据卷·容器挂载
keke.shengfengpolang9 小时前
自动化考什么证书对就业有帮助?
运维·自动化
乐橙开放平台9 小时前
巡店系统笔记:乐橙 listDeviceDetailsByPage 台账 + bindDeviceLive 辅码流最小闭环
网络·笔记·物联网·自动化·音视频·智能家居