在没有API调用的情况下将Jenkins构建数据嵌入Angular2

时间:2017-11-06 10:23:40

标签: angular jenkins

我试图嵌入Jenkins构建版本和时间戳而不使用对jenkins API& amp;创建自定义变量和使用工件等。

现在Jenkins在使用“执行Windows批处理命令”构建时添加了带有内部版本号和时间戳的新json文件,但是如果我可以访问这些数据,我会很困惑。 (也许我试错了)

cd %WORKSPACE%\UI\
del jenkinsBuildData.json
echo "{"buildInfo": {"buildId": %BUILD_NUMBER%, "buildDate": %BUILD_TIMESTAMP%}}" > jenkinsBuildData.json

我希望以这种方式显示它:

<div *ngFor="data in buildInfo">Company Name: build #{{ data.buildId }} - {{ data.buildDate }}</div>

感谢任何建议。

1 个答案:

答案 0 :(得分:0)

这很简单..我为我的json文件设置了错误的路径。

要从Jenkins输出最新版本号/日期/时间或任何您需要的内容,您可以添加带有某些变量的json文件,然后在本地访问它。 当然,您可以采取其他方式 - 只需在每次构建时更新文件

第一步:

创建文件并添加我们的Jenkins数据

cd %WORKSPACE%\UI\
del jenkinsBuildData.json
echo "{"buildInfo": {"buildId": %BUILD_NUMBER%, "buildDate": %BUILD_TIMESTAMP%}}" > jenkinsBuildData.json

基本上我们正在执行后续步骤:

  • 转到app文件夹
  • 删除以前生成的文件
  • 使用新数据创建新文件

第二步:

访问我们的本地* .json文件

getBuildData() {
  let data;
  this.http.get('./jenkinsData.json').subscribe(res => {
    data = res.json().buildInfo;
    this.buildNumber = data.buildId; // storing build ID in global var
  });
}

第三步:

输出数据

<div>Company Name: build #{{ buildNumber }}</div>

不需要*ngFor