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

相关推荐
FIN66684 小时前
募投绘蓝图-昂瑞微的成长密码与未来布局
前端·后端·5g·云原生·信息与通信·射频工程·芯片
许泽宇的技术分享9 小时前
.NET Aspire深度解析:重新定义云原生分布式应用开发的“秘密武器“
云原生·.net
旗讯数字12 小时前
企业OCR实战:基于OCR技术实现双节差旅报销单表格解析与文字信息自动化采集
运维·自动化·ocr·表格识别
2501_9200470312 小时前
k8s-ingress控制器
云原生·容器·kubernetes
K_i13412 小时前
Docker、容器、虚拟机到底是什么
docker·微服务·云原生·容器·kubernetes
new_daimond14 小时前
微服务网关技术详细介绍
微服务·云原生·架构
Light6014 小时前
领码方案|微服务与SOA的世纪对话(4):迁移与避坑——从 SOA 到微服务的演进路线图
微服务·云原生·架构·自动化运维·容器化·服务治理·渐进式迁移
zzywxc78716 小时前
AI 在金融、医疗、教育、制造业等领域都有广泛且深入的应用,以下是这些领域的一些落地案例
人工智能·金融·自动化·prompt·ai编程·xcode
是垚不是土1 天前
Prometheus接入“飞书“实现自动化告警
运维·安全·自动化·github·飞书·prometheus