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/localtimeRUN mkdir -p /mycrm-system-cloudWORKDIR /mycrm-system-cloudEXPOSE 15000ADD ./mycrm-system-cloud-start-6.0.0.jar ./mycrm-system-cloud-start-6.0.0-x86.jarCMD 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
- 在IntelliJ IDEA界面右上方项目配置处选择框中单击Edit Configuration...。
- 在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