我们公司使用Jenkins部署我们的测试系统,其中包括最新的补丁,因此可以对它们进行测试。一切都是自动化的,分为几个步骤。一步检查refs / remotes / origin中的分支(使用GIT),其中包括特定关键字(在这种情况下为 todeploy )。包含此关键字的所有分支都将写入电子邮件,供其他部门查看。
然而由于某种原因,旧的分支机构也列在电子邮件中,这当然会引起混淆。 Jenkins之后应该删除这些已部署的分支,但是在再次部署时,他会以某种方式将这些旧分支添加到邮件中。
以下是此构建步骤的内容:
def refs = "git for-each-ref --format=%(refname) refs/remotes/origin/*_todeploy_*".execute( null, workingDir )
refs.waitFor()
def patches = ""
def subject = "Tickets included in deployment ( "
def adresses = "random@email.com,"
refs.text.eachLine {
patches += "<li>"+it.substring(it.lastIndexOf('MyTickets'),it.length())+"</li>"
subject += it.substring(it.lastIndexOf('-')+1,it.length())+" "
}
String content = "<html><body>"+
"Following tickets will be ready for testing shortly:"+
"<ul>"+patches+"</ul>"
输出等于:
此列表在每次部署时都会继续增长,而不是不包括已部署的branchnames