Cloud Toolkit打包springcloud项目 多模块

什么是Cloud Toolkit

Cloud Toolkit 是免费的本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、ACK、ACR 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具。

首先在父工程的pom添加

/Users/kaifa/Documents/lxh/xxx-new/jar是你的jar打包后存放的地址  
   <properties>
        <!--打包配置-->
        <copy>true</copy>
        <localDir>/Users/kaifa/Documents/lxh/xxx-new/jar</localDir>
    </properties>

子模块pom加入 这样就可以把当前子模块  执行package的时候把jar打入到指定目录  如果执行的install请把

 <phase>package</phase>改为 <phase>install</phase>

<!--复制jar包到指定文件目录,连接服务器,复制文件到服务器-->
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy</id><!--需要唯一-->
                        <phase>package</phase><!--当执行package操作时执行一下任务-->
                        <configuration>
                            <tasks><!--任务-->
                                <echo message="start.................................."/><!--打印-->
                                <echo message="load maven plugin ant-contrib-1.0b3"/>
                                <!--加载plugin ant-contrib的配置文件-->
                                <taskdef resource="net/sf/antcontrib/antlib.xml">
                                    <classpath><!--加载jar包,${settings.localRepository}的值是你maven settings文件中配置的本地仓库位置-->
                                        <pathelement location="${settings.localRepository}/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/>
                                    </classpath>
                                </taskdef>
                                <!--复制jar包-->
                                <if>
                                    <equals arg1="${copy}" arg2="true"/><!--是否复制jar包-->
                                    <then>
                                        <echo message="Copy jar to your desired path."/>
                                        <copy todir="${localDir}" overwrite="true"><!--执行复制操作,todir的值是将要复制jar包到的地方,overwrite是否重写-->
                                            <fileset dir="${project.build.directory}"><!--${project.build.directory}值是你的target目录-->
                                                <include name="*.jar"/><!--target目录下的jar包-->
                                            </fileset>
                                        </copy>
                                    </then>
                                </if>
                                <!--打印-->
                                <echo message="pom type:${project.packaging}"/>
                                <echo message="target path:${project.build.directory}"/>
                                <echo message="maven local repository:${settings.localRepository}"/>
                                <echo message="if pom type equals pom,delete ant generate target and antrun folder"/>
                                <echo message="${project.build.finalName}"></echo>
                                <!--
                                因为 maven-antrun-plugin 执行后,会在你的项目中生成一个target/antrun/build-main.xml,
                                在packageing=pom的项目下也会生成一个这样的文件和文件目录,个人觉得很烦,索引引入ant-contrib依赖,
                                如果你觉得不烦,可以不添加ant-contrib依赖,下边的if标签也不能使用.
                                -->
                                <!--删除-->
                                <if><!--if 标签-->
                                    <equals arg1="${project.packaging}" arg2="pom"/> <!--判断当前pom文件的packageing是否是pom类型,-->
                                    <then><!--如果是pom类型则删除 该项目下的target目录-->
                                        <echo message="delete ${project.build.directory}"/>
                                        <delete dir="${project.build.directory}"/>
                                    </then>
                                </if>
                               
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

开始使用Cloud Toolkit打包 在 Intellij IDEA 中部署 Spring Boot / Spring Cloud 应用到阿里云这里使用的是IDEA2019   首先在安装Alibaba Cloud Toolkit插件

安装教程https://yq.aliyun.com/articles/674021?spm=5176.11997469.1283546..7a8f2fa8U2VOhA&aly_as=FgAcVHLg

1、选择Tools -> Alibaba Cloud View -> Host  如图

2、点击add host 填入的服务器名称 用户名 密码 测试一下连接然后点击add

upload是上传文件用的  Termianl是对应你服务器的命令控制台 command 是输入命令的地方

More里面是一些删除当前连接还有编辑等一些操作 如图

3、点击 Edit Confugurations... -> 点+号添加Deploy to Host   如图

4、选择一个你的服务器  Target Directory 打包存放的jar地址

After deplay填上你打包后执行的脚本 (脚本在最后面哦)

多模块需要在before launch 添加子模块 clean package操作 如图

多模块打包 https://yq.aliyun.com/articles/676151

 5、切换upload file 点browse添加你要上传的jar

6、切换到advanced 填入你打包前执行的脚本(脚本在最后面哦) 点击apply -> ok

7、点击run执行 然后查看日志 等待执行完成 先执行eureka  再执行config  执行启动之后才执行其它服务的命令 如图

before.sh脚本

#!/bin/bash
echo "before打包前执行"
source /etc/profile
ps -ef|grep xxxx-eureka|grep -v "grep"|awk '{print $2}'|xargs kill -9
ps -ef|grep xxxx-config|grep -v "grep"|awk '{print $2}'|xargs kill -9
ps -ef|grep xxxx-gateway|grep -v "grep"|awk '{print $2}'|xargs kill -9
ps -ef|grep xxxx-user|grep -v "grep"|awk '{print $2}'|xargs kill -9
ps -ef|grep xxxx-activity|grep -v "grep"|awk '{print $2}'|xargs kill -9
ps -ef|grep xxxx-search|grep -v "grep"|awk '{print $2}'|xargs kill -9
cd /usr/jarprod
rm -rf  xxxx-*
echo "before执行结束"

after.sh脚本

source /etc/profile
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar  /usr/jarprod/xxx-eureka.jar > /dev/null 2>&1 &
RESULT=000
while [[ $RESULT != "200" ]]; do
RESULT=$(curl -I -m 10 -o /dev/null -s -w %{http_code} xxx-new:xxx-new@localhost:8761)
echo eureka $RESULT
sleep 5
done
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar /usr/jarprod/xxx-config.jar  --spring.profiles.active=native > /dev/null 2>&1 &
RESULT2=000
while [[ $RESULT2 != "200" ]]; do
RESULT2=$(curl -I -m 10 -o /dev/null -s -w %{http_code} localhost:8888/actuator/info)
echo config $RESULT2
sleep 5
done
echo gateway
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar /usr/jarprod/xxx-gateway.jar --spring.profiles.active=test > /dev/null 2>&1 &

echo activity
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar  /usr/jarprod/xxx-activity.jar --spring.profiles.active=test > /dev/null 2>&1 &

echo user
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar  /usr/jarprod/xxx-user.jar --spring.profiles.active=test > /dev/null 2>&1 &
echo search
nohup java -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar /usr/jarprod/xxx-search.jar --spring.profiles.active=test > /dev/null 2>&1 &
exit

参考官方文档

官网地址 https://toolkit.aliyun.com

使用Cloud Toolkit打包 https://yq.aliyun.com/articles/665693

Cloud Toolkit 上传文件到远程服务器 https://yq.aliyun.com/articles/686715?spm=5176.11997469.1283546.20.7a8f2fa8U2VOhA&aly_as=cNz16eod

https://yq.aliyun.com/articles/680157?spm=5176.11997469.1283546.19.7a8f2fa8U2VOhA&aly_as=7Nu5SVxF

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云工具包(Alibaba Cloud Toolkit)是一款用于集成开发环境(IDE)的插件,旨在帮助开发者更方便地使用阿里云服务。它提供了丰富的功能和命令,可以帮助开发者在IDE中管理和操作阿里云资源。 以下是一些常用的 Alibaba Cloud Toolkit 命令: 1. 配置阿里云账号:通过 `aliyun configure` 命令可以配置阿里云账号信息,包括 Access Key ID、Access Key Secret、默认地域等。 2. 创建和部署应用:使用 `aliyun create` 命令可以创建一个新的应用,并将其部署到阿里云上。该命令会引导你选择应用类型、运行环境等,并自动完成应用的创建和部署过程。 3. 查看应用状态:通过 `aliyun status` 命令可以查看当前应用的状态,包括运行状态、访问地址等信息。 4. 打开应用日志:使用 `aliyun logs` 命令可以打开应用的日志文件,方便查看和分析应用的运行情况。 5. 管理云资源:通过 `aliyun resource` 命令可以管理阿里云上的各种资源,包括虚拟机、数据库、负载均衡等。你可以使用该命令创建、删除、启动、停止等操作。 6. 配置云服务:使用 `aliyun service` 命令可以配置阿里云上的各种云服务,包括云监控、云存储、消息队列等。你可以使用该命令配置服务的参数、订阅通知等。 以上是一些常用的 Alibaba Cloud Toolkit 命令,你可以根据自己的需求选择相应的命令进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值