需要准备
- 一个熟悉的 IDE 开发工具
- JDK 7及以上
- Gradle 3.2以上
- Docker 17
- Git 2.13
- Jenkins
与 Git 的结合使用
Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。所以现在基本上很多的公司都在使用 Git 进行项目的代码管理,而 Git 的代码 clone 可以通过命令行现实现,不过今天我在这里介绍的是一种通过 Gradle 代码实现的,它不仅能进行代码的 clone,还能显示出最后提交的日志信息,方便我们构建工程的时候知道最近代码仓库中有哪些改动。其具体的代码实现如下:
import org.ajoberstar.grgit.*
// gradle-git插件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.1.0'
}
}
// 克隆代码
def cloneToDir = System.properties['cloneToDir'];
def destination = file(cloneToDir)
if(destination.exists()){
destination.deleteDir();
}
def gitBranch = System.properties['gitBranch'];
def logNums = System.properties['logNums'];
ext.grgit = Grgit.clone(dir: destination, uri: 'ssh://builder@192.168.3.181:29418/login.git', refToCheckout:'remotes/origin/'+gitBranch)
task cloneGitRepo << {
if(!gitBranch.equals("master")){
// checkout出指定的分支
grgit.checkout(branch:gitBranch,orphan: true)
}
grgit.pull()
//输出近100条提交日志
def history = grgit.log(maxCommits: logNums.toInteger())
history.each{commit->
println "============"+commit.committer.name+"======="+n