我正在写一个任务来部署应用服务器。 不过,我想这个任务只运行如果我当前的git分支是主分支。 我怎样才能得到当前的git分支?
gradle-git
方法:
我知道有一个gradle这个-git的插件 ,有一个方法getWorkingBranch()
的任务下GitBranchList
,但只要我尝试执行
task getBranchName(type: GitBranchList) {
print getWorkingBranch().name
}
我得到一个“任务还没有执行”错误。 我看了看源和当没有分支集,它抛出这个错误。 这是否意味着此方法不执行完全是我想它呢? 我需要的地方设置分支机构?
不,这并不意味着该分支未设置。 这意味着任务还没有真正执行呢。 你现在要做的是要求在配置封闭的方法,而你可能要执行的任务后,调用它。 尝试改变你的任务是:
task getBranchName(type: GitBranchList) << {
print getWorkingBranch().name
}
随着<<
要添加一个doLast,任务已经执行之后将被执行。
你也能够得到git branch name
没有插件。
def gitBranch() {
def branch = ""
def proc = "git rev-parse --abbrev-ref HEAD".execute()
proc.in.eachLine { line -> branch = line }
proc.err.eachLine { line -> println line }
proc.waitFor()
branch
}
请参阅: 摇篮&GIT:如何将您的分支映射到一个部署配置文件