什么是Buildship?html
Buildship能方便咱们经过Eclipse IDE建立和导入Gradle工程,同时还能执行Gradle任务。java
Eclipse上安装Buildshipweb
建议直接去Eclipse market处下载,简单方便,以下图:spring
Buildship的更多信息apache
请参考如下连接,有教程,比较简单,api
主要内容:tomcat
如何导入Gradle工程,服务器
如何建立Gradle工程,网络
如何执行Gradle任务,session
等。。。
http://projects.eclipse.org/projects/tools.buildship
http://www.vogella.com/tutorials/EclipseGradle/article.html
主要做用是方便编辑gradle文件,提供语法高亮功能,另外该插件也很是精简,大小小于50k。
高亮效果及安装方式以下图:
官网下载Gradle安装包,以下连接
http://services.gradle.org/distributions
我下载的是gradle-2.14.1-bin.zip包,下载后解压到硬盘路径便可,想配环境变量的能够配置下,既然打算用Eclipse集成Buildship了,我也就懒得配置了。
这个我稍微翻译一下,最好直接参考官方文档:
一、经过
入口找到建立Gradle Project选项,以下图:
点击下一步,输入工程名字,工程位置,以及所属的工做集(可选,用于工程分组),
点击下一步,以下图所示,这里咱们选择本身的Gradle本地安装路径,以下图:
在以上步骤中,点击完成按钮,会触发gradle init --type java-library
命令的执行,并导入该工程到Eclipse IDE中;
点击下一步可预览即将建立的Gradle工程,以下图,
建立好的工程
很简单,跟日常工程的导入相似,只不过工程类型选择导入Gradle Project而已,可参考如下连接:
http://www.vogella.com/tutorials/EclipseGradle/article.html#import-an-existing-gradle-project
工程右键,配置->Add Gradle Nature便可,若是没有Gradle相关的文件,能够执行gradle init命令生成:
首先,Eclipse上建立一个Dynamic Web project,而后将其转成Gradle工程,可参考前面的步骤;
而后,改造下工程目录,以下图,跟maven的目录同样,另外把resources目录添加到构建路径下,
最后主要就是build.gradle文件的配置了
我这边主要用了三个插件,配置以下,
相关插件官方文档都比较完善。
buildscript{ repositories { mavenLocal() jcenter() maven{ url 'http://maven.d.com/content/groups/public/'} mavenCentral() } dependencies { classpath 'org.hidetake:gradle-ssh-plugin:2.6.0' classpath 'org.akhikhl.gretty:gretty:+' } } apply plugin: 'war' apply plugin: 'org.akhikhl.gretty' apply plugin: 'org.hidetake.ssh' gretty { servletContainer = 'tomcat7' contextPath = '/dss' //httpPort = 8080 fastReload = false recompileOnSourceChange = false reloadOnClassChange = false reloadOnConfigChange = false reloadOnLibChange = false enableNaming = true }
ssh.settings {
knownHosts = allowAnyHosts
}
remotes {
deployServer {
host = 'XX.XX.XX.XX'
user = 'XXXX'
password = 'XXXXXX'
}
}
另外能够配下工程信息:
group 'com.cetiti.epdc' def artifactid = "dss" //version '0.1.0-SNAPSHOT' description = """Gradle WebApp of dss"""
buildDir = 'target
依赖查找仓库:
repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. mavenLocal() jcenter() maven{ url 'http://maven.d.com/content/groups/public/'} mavenCentral() }
依赖配置:
dependencies { // The production code uses the SLF4J logging API at compile time compile "org.slf4j:slf4j-api:1.7.21" //compile "org.slf4j:slf4j-log4j12:1.7.21" compile "log4j:log4j:1.2.17" compile "com.google.code.gson:gson:2.6.2" compile "org.apache.commons:commons-lang3:3.4" compile "org.springframework:spring-context:3.2.16.RELEASE" compile "org.springframework:spring-web:3.2.16.RELEASE" compile "org.springframework:spring-webmvc:3.2.16.RELEASE" compile "org.springframework:spring-tx:3.2.16.RELEASE" compile "org.springframework:spring-context-support:3.2.16.RELEASE" compile "org.springframework:spring-jdbc:3.2.16.RELEASE" compile "org.aspectj:aspectjweaver:1.8.7" compile "com.alibaba:druid:1.0.15" compile "ojdbc:ojdbc:6" compile "org.mybatis:mybatis:3.2.8" compile "org.mybatis:mybatis-spring:1.2.5" compile "org.jasig.cas.client:cas-client-core:3.4.1" compile "com.cetiti.common:cetiti-common:0.1.0" compile "org.quartz-scheduler:quartz:1.8.6" compile 'javax.servlet:servlet-api:2.5' // Declare the dependency for your favourite test framework you want to use in your tests. // TestNG is also supported by the Gradle Test task. Just change the // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add // 'test.useTestNG()' to your build script. testCompile 'junit:junit:4.12' }
添加自定义任务,我这里简单的写了四个任务,主要作如下几件事,关闭tomcat、删除war包及目录、拷贝文件、启动tomcat:
task shutdownTomcat() << { ssh.run { session(remotes.deployServer) { println 'shut down tomcat...' executeScript '''#!/bin/sh cd /usr/local/dss-tomcat-7.0.47/bin ./shutdown.sh ''' } } } task del(dependsOn:shutdownTomcat) << { ssh.run { session(remotes.deployServer) { println 'start deleting...' executeScript '''#!/bin/sh rm -rf /usr/local/dss-tomcat-7.0.47/webapps/dss rm -f /usr/local/dss-tomcat-7.0.47/webapps/dss.war ''' } } } task copy(dependsOn:del) << { ssh.run { session(remotes.deployServer) { println 'start copying war...' put from: buildDir.toString() + '/libs/dss.war', into: '/usr/local/dss-tomcat-7.0.47/webapps' } } } task deploy(dependsOn:copy) << { ssh.run { session(remotes.deployServer) { println 'start tomcat...' execute '/usr/local/dss-tomcat-7.0.47/bin/startup.sh' } } }
执行Gradle Task视图里的任务:
Eclipse IDE上打开Gradle Task视图,不知道为何,我这边添加了相关插件以后,任务列表不会立刻显示,须要重启Eclipse,多是Buildship的Bug。
执行自定义任务:
工程右键,run as,打开运行配置,输入命令便可
首先要安装jenkins的gradle插件,我这里假设已经安装好了,不知道怎么安装的参考网络,
一、选择构建一个自由风格的软件项目
二、配置,很简单,见图: