我遇到了一个有趣的问题.我想用Teamcity构建nuget包.我确实设置了非常简单的配置(好的JetBrains!)
但是我无法在其中一个构建代理上运行它.
代理确实传递了配置的代理要求,但在其名称旁边显示以下内容:不允许运行此配置
我的问题:为什么?
在代理配置参数页面上,我将Nuget作为可能的配置:
teamcity.tool.NuGet.CommandLine.2.8.2.nupkg D:\BuildAgent\tools\NuGet.CommandLine.2.8.2.nupkg
teamcity.tool.NuGet.CommandLine.DEFAULT.nupkg D:\BuildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg
Run Code Online (Sandbox Code Playgroud)
我们有第二个构建代理,它可以运行Nuget Packager配置.这两台机器的主要区别在于,一台是Windows 8版本6.2机器(不允许运行此配置),另一台是Windows 7版本6.1(允许运行此配置)
我们正在运行:
TeamCity Enterprise 8.0.5 (build 27692)
Run Code Online (Sandbox Code Playgroud)
任何提示和帮助将不胜感激!
谢谢!
我开始在我的一个项目中使用GruntJS.我很容易完成使用简单别名编写一个简单的构建脚本.
但是我的脚本包含许多基本相同的任务,唯一的区别是一些参数,如源文件夹和目标文件夹.
例如:
sass: {
options:{
trace: true,
debugInfo: true,
style: 'compressed'
},
html: {
files: {
'build/html/css/main.css': 'sass/html.sass'
}
},
html2: {
files: {
'build/html2/css/main.css': 'sass/html2.sass'
}
},
html3: {
files: {
'build/html3/css/main.css': 'sass/html3.sass'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是只有一个任务,然后将参数(dest,src)传递给该任务.
我尝试使用MultiTasks实现这个:
grunt.registerTask('sass2', 'Run all Sass compilation tasks.', function() {
var projects = ['html','html2','html3'];
projects.forEach(function(proj){
grunt.config.set('sass.files.dest', 'build/' + proj + '/css/main.css');
grunt.config.set('sass.files.src', 'sass/' + proj + '.sass');
grunt.log.writeln(grunt.config.get('sass.files.dest'));
grunt.log.writeln(grunt.config.get('sass.files.src'));
grunt.task.run('sass');
});
});
Run Code Online (Sandbox Code Playgroud)
Grunt日志输出params的正确值,但只有html3 sass被编译.
我不明白为什么只有一个项目被编译,我怎么能解决这个问题.
也许还有另一种方法可以解决这个问题.一个更好的方法.也许使用模板?
任何形式的帮助或提示将不胜感激.
谢谢!