在某些构建步骤之后发布工件

时间:2012-02-22 23:50:57

标签: teamcity

我在TeamCity中设置了3个步骤的构建配置:

  • 构建解决方案
  • 进行单元测试
  • 将工件上传到FTP

对于FTP上传,我使用了从http://teamcityrunners.codeplex.com/获取的FTPUpload插件。要上传的文件夹设置为绝对路径:

%userprofile%\.BuildServer\system\artifacts\%env.TEAMCITY_PROJECT_NAME%\%env.TEAMCITY_BUILDCONF_NAME%\%env.BUILD_NUMBER%\

根据构建日志,只有在完成所有步骤后才会发布工件。

是否可以将TeamCity配置为在特定构建步骤后发布工件?

4 个答案:

答案 0 :(得分:14)

我们为我的一个项目做了类似的事情。我们使用2种构建配置。

第一个构建解决方案,运行单元测试并生成工件。

第二次构建在上次成功构建时设置了Artifact Dependency。这意味着第二个构建将开始从第一个构建中获取工件。第二个构建将有一个构建步骤,上传到ftp站点。第二个构建设置为Finish Build Trigger指向第一个构建。这将使它在第一次构建完成时启动。

通过这种方式可以进行更多的工作,但是一旦你完成设置它就能很好地工作。

答案 1 :(得分:9)

如果您的目标是将工件上传到TeamCity服务器,则不需要任何外部插件,只需在构建配置的常规设置上填写“工件路径”即可。 同样,您可以在构建期间通过将特殊格式的文本打印到标准输出中来发布工件,"service message"

如果您想上传到与TeamCity无关的某些FTP,您将需要提及的插件。

答案 2 :(得分:4)

根据上述票, TW-1558外部工件发布(FTP,复制) 有一个新的插件似乎可以解决这个问题。 (我没用过它。)

http://confluence.jetbrains.com/display/TW/Deployer+plugin 在构建配置设置中,新的运行程序将可用于构建步骤。 新的参赛者包括:

  • SMB Deployer - 通过SMB协议将文件上传到Windows共享
  • FTP Deployer - 将文件上传到FTP服务器
  • SSH Deployer - 通过SSH上传文件(使用SCP或SFTP协议)
  • SSH Exec - 使用SSH执行任意远程命令
  • Tomcat Deployer - 将WAR应用程序归档部署到远程Tomcat 实例(需要在目标Tomcat中安装Manager webapp 服务器)

答案 3 :(得分:2)

值得注意的是,从TeamCity 8开始,您可以使用Meta-Runner功能通过向构建日志发送消息来构建工件。