这是我第一次使用TeamCity,所以我仍然掌握所有的概念。我想通过构建号从Teamcity到JS(节点/gulp)脚本作为参数。有人对此有什么看法吗?根据我的理解,预定义的属性在运行时可用。在这种情况下,我假设如下:
更新:添加了用于修改构建号的代码片段,但环境变量似乎没有通过node.js
var setBuildNumber = function() {
'use strict';
var fs = require('fs'),
buildNumber = 2.1;
if( typeof build !== 'undefined' ){ buildNumber = build.number; }
fs.readFile('public/index.html', 'utf8', function (err,data) {
var result = data.replace(/build number: 1.0/g, 'Build Number: ' + buildNumber);
if(err){ return console.log('file read error' + err); }
fs.writeFile('public/index.html', result, 'utf8', function(err){
if(err){ console.log('problem writing the file ' + err); }
});
});
};
任何有见地的都非常感谢。
谢谢,
你需要做两件事
- 改变你的js从属性文件中读取构建号
- 更改teamcity构建,将构建号写入/bake到上述属性文件