如何添加' PublishDirectory'到CruiseControl.net电子邮件输出

时间:2015-04-21 14:03:46

标签: cruisecontrol.net

我正在尝试找到一种方法来添加指向在构建成功或失败后发送出去的电子邮件的链接。如果构建失败,它将只显示文本声明" Build Not Published"。

例如,成功构建的输出如下所示:

  

建立成功的作用   项目:MyProject.MyBuild
  建造日期:2015-04-21 05:00:00
  运行时间:00:21:50
  集成请求:从DailyBuild触发的构建(ForceBuild)
  发布路径://服务器/共享/ MyProject / PublishPath
  警告:(###)自上次构建以来的修改(#)

等。 从我的config xml文件进行发布,目标路径作为参数传递,值为:$(SOURCE_REL_DIR)。 我查看了ccnet.exe.config文件,但是我不知道如何在这里注入数据。 然后我查看了header.xsl文件,虽然我可以在这里注入文本,但我不确定如何传递自定义值$(SOURCE_REL_DIR)。某些值似乎使用@date,@ buildtime

读取变量 编辑:我刚才意识到$(SOURCE_REL_DIR)只是一个父目录。我把它传递给执行以下操作的powershell脚本:

  1. 确定星期几。
  2. 创建一个名为的新子文件夹 '栋 YYYYMMDD_HHMMSS
  3. 完整路径如下所示: // Server / share / PublishPath / DayOfWeek / BldyyyyMMdd_hhmmss 。 因此,我不仅需要找到一种方法将值从ccnet传递到header.xml,还需要从我的发布powershell脚本中设置一个值。

1 个答案:

答案 0 :(得分:0)

要将值从ccnet传递到标头,请使用ccnet merge task中的合并功能。这会将值放入ccnet构建日志中,并使其可以从xsl文件(如header.xsl)访问。因此,您需要合并一个xml文件。我确定您可以使用其中的值生成一个简单的xml文件。 Nant有办法用xmlpoke做到这一点。或者你可以简单地写一个有效的xml文本文件。

例如

#box1 {
  background-color: rgba(55,190,239,0.6);
  color: #FFFFFF;
  padding-top: 105px;
  padding-bottom: 105px;
  text-align: center;
  font-size: 3.1vh;
  font-weight: bold;

 /*Gradient*/
 background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
 background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
 background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
 background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
 background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));

 /*Transition*/
-webkit-transition: All 0.5s ease;
-moz-transition: All 0.5s ease;
-o-transition: All 0.5s ease;
-ms-transition: All 0.5s ease;
transition: All 0.5s ease;
}

#box1:hover {
    background-color: rgba(55,190,239,0.9);
}