gradle 自定义task 实现发版
Posted 古月今犹在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gradle 自定义task 实现发版相关的知识,希望对你有一定的参考价值。
1.使用org.hidetake.ssh,通过自定义 task 实现。
buildscript
repositories
jcenter()
dependencies
classpath 'org.hidetake:gradle-ssh-plugin:2.9.0'
apply plugin: 'java'
apply plugin: 'org.hidetake.ssh'
apply plugin: 'war'
war
archiveName 'test.war'
ssh.settings
knownHosts = allowAnyHosts
//配置远程服务器信息
remotes
deployServer
host = 'ip地址'
user = '登陆用户'
password = '密码'
//关闭tomcat
task shutdownTomcat(dependsOn: build) <<
ssh.run
session(remotes.deployServer)
println 'shut down tomcat...'
executeScript '''#!/bin/sh
cd /home/user/tomcat/bin/
./shutdown.sh
'''
//删除旧war包
task del(dependsOn:shutdownTomcat) <<
ssh.run
session(remotes.deployServer)
println 'start deleting...'
executeScript '''#!/bin/sh
rm -f /home/user/tomcat/webapps/test.war
rm -rf /home/user/tomcat/webapps/test
'''
println 'delete old war'
task copy(dependsOn:del) <<
ssh.run
session(remotes.deployServer)
println 'start copying war...'
put from: buildDir.toString() + '/libs/test.war', into: '/home/user/tomcat/webapps'
println '上传成功'
task deploy(dependsOn:copy) <<
ssh.run
session(remotes.deployServer)
println 'start tomcat...'
execute '/home/user/tomcat/bin/startup.sh'
println 'done'
2.放到windows 某tomcat下,使用 copy
war
archiveName 'test.war'
//复制任务
def dir = "C:\\\\Users\\\\zzw\\\\Desktop\\\\ssh"
task(copy, type: Copy)
from(file('build/libs/test.war'))
into(dir)
以上是关于gradle 自定义task 实现发版的主要内容,如果未能解决你的问题,请参考以下文章
自定义Gradle Task实现一键批量部署Springboot应用
Android Gradle 插件自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )
Android Gradle 插件自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )
Android Gradle 插件自定义 Gradle 任务 ④ ( Task#doLast 函数用法 | 自定义 Gradle 任务代码示例 )
Android Gradle 插件自定义 Gradle 任务 ④ ( Task#doLast 函数用法 | 自定义 Gradle 任务代码示例 )