阿里出品!SpringBoot应用自动化部署神器,IDEA版Jenkins?

2023年 8月 13日 90.7k 0

  • 首先准备好打包应用镜像需要的Dockerfile文件;

    该镜像需要依赖的基础镜像

    FROM java:8

    将当前目录下的jar包复制到docker容器的/目录下

    ADD mall-tiny-deploy-1.0-SNAPSHOT.jar /mall-tiny-deploy-1.0-SNAPSHOT.jar

    声明服务运行在8088端口

    EXPOSE 8088

    指定docker容器启动时运行jar包

    ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]

    指定维护者的名字

    MAINTAINER macrozheng

  • 再准备好可以自动打包应用镜像、创建并运行容器的脚本run.sh,这两个脚本的具体使用可以参考使用Jenkins进行自动化部署的技巧 ;

    #!/usr/bin/env bash

    定义应用组名

    group_name='mall-tiny'

    定义应用名称

    app_name='mall-tiny-deploy'

    定义应用版本

    app_version='1.0-SNAPSHOT'

    定义应用环境

    profile_active='prod'
    echo '----copy jar----'
    docker stop appnameecho′−−−−stopcontainer−−−−′dockerrm{app_name}
    echo '----stop container----'
    docker rm appn​ameecho′−−−−stopcontainer−−−−′dockerrm{app_name}
    echo '----rm container----'
    docker rmi groupname/{group_name}/groupn​ame/{app_name}:${app_version}
    echo '----rm image----'

    打包编译docker镜像

    docker build -t groupname/{group_name}/groupn​ame/{app_name}:appversion.echo′−−−−buildimage−−−−′dockerrun−p8088:8088−−name{app_version} .
    echo '----build image----'
    docker run -p 8088:8088 --name appv​ersion.echo′−−−−buildimage−−−−′dockerrun−p8088:8088−−name{app_name}
    --link mysql:db
    -e 'spring.profiles.active'=profileactive −eTZ="Asia/Shanghai" −v/etc/localtime:/etc/localtime −v/mydata/app/{profile_active} \
    -e TZ="Asia/Shanghai" \
    -v /etc/localtime:/etc/localtime \
    -v /mydata/app/profilea​ctive −eTZ="Asia/Shanghai" −v/etc/localtime:/etc/localtime −v/mydata/app/{app_name}/logs:/var/logs
    -d groupname/{group_name}/groupn​ame/{app_name}:${app_version}
    echo '----start container----'

  • 将这两个文件上传到Linux服务器上,给run.sh添加可执行权限;

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论