You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何集成TeamCity与uDeploy?含代理配置及deploymentconfig.xml生成

TeamCity与uDeploy集成配置指南

一、配置TeamCity Agent与uDeploy通信

1. 在uDeploy创建集成专用账户

登录uDeploy控制台,创建一个具备组件版本推送权限的用户,分配对应角色(如内置的Component Deployer,或自定义角色并授予Create Component Version权限),确保该账户能操作目标组件。

2. 安装TeamCity的uDeploy插件

进入TeamCity服务器的Administration页面,打开Plugins List,搜索并安装IBM UrbanCode Deploy官方插件,安装完成后重启TeamCity服务器生效。

3. 配置TeamCity与uDeploy的服务器连接

  • 进入TeamCity的Administration > Integrations > IBM UrbanCode Deploy,点击Add new connection。
  • 填写uDeploy服务器地址(例:http://udeploy-server:8080)、集成账户的用户名和密码,点击Test connection验证连通性,确认成功后保存。

4. 确保TeamCity Agent网络可达uDeploy

如果使用Windows版TeamCity Agent:

  • 检查Agent机器的防火墙规则,允许访问uDeploy服务器的端口(默认8080)。
  • 在Agent机器上通过浏览器或PowerShell命令(如Invoke-WebRequest http://udeploy-server:8080/rest/deploy/component)验证API可访问,确保网络无阻塞。

二、生成deploymentconfig.xml并推送版本到uDeploy

deploymentconfig.xml是uDeploy识别组件版本的核心配置文件,包含组件信息、版本号、文件部署映射等,可通过两种方式实现:

方法1:利用uDeploy插件自动生成(推荐)

  1. 创建TeamCity构建配置

    • 新建Build Configuration,配置VCS为你的GitHub空仓库(若需存储部署配置文件,可将相关文件提交至此仓库)。
    • 添加构建步骤:选择IBM UrbanCode Deploy: Push Component Version。
    • 步骤配置细节:
      • 选择已配置的uDeploy服务器连接。
      • 指定uDeploy中预先创建的目标组件。
      • 设置版本号:使用TeamCity内置参数(如%build.number%)或自定义格式(例:v%build.number%)。
      • 选择推送文件:指定第三方提供的二进制文件、部署配置文件的路径(例:**/*.exe, **/*.config, **/*.sql)。
      • 勾选Generate deploymentconfig.xml,插件会自动生成符合uDeploy规范的配置文件,还可在Deployment mappings中自定义文件的目标部署路径。
  2. 配置构建工件
    在Build Configuration的General Settings > Artifacts中,设置工件输出规则(例:**/* => artifacts.zip),确保所有需要推送的文件都被打包,供uDeploy插件调用。

方法2:手动编写并嵌入构建工件

若需更精细的配置控制,可手动编写deploymentconfig.xml:

  1. 编写配置文件示例
<?xml version="1.0" encoding="UTF-8"?>
<manifest version="1">
  <component name="Your-Target-Component" version="%build.number%">
    <file name="app.exe" deployable="true" destination="%target.app.directory%"/>
    <file name="appsettings.prod.json" deployable="true" destination="%target.app.directory%"/>
    <file name="init-db.sql" deployable="true" destination="%target.sql.directory%"/>
  </component>
</manifest>
  • 可使用TeamCity参数(如%build.number%)动态替换版本号,或通过PowerShell脚本在构建时替换自定义参数。
  • 将该文件提交到GitHub仓库,或在构建步骤中生成。
  1. 集成到构建流程
  • 添加Command Line或PowerShell构建步骤,将deploymentconfig.xml与二进制文件、配置文件打包到同一工件中。
  • 使用uDeploy插件的推送步骤,选择包含该配置文件的工件,插件会自动识别并使用自定义的deploymentconfig.xml。

三、验证集成效果

运行TeamCity构建,查看构建日志确认版本推送成功;登录uDeploy控制台,进入目标组件的版本列表,检查新生成的版本是否包含所有指定文件及正确的deploymentconfig.xml。

内容的提问来源于stack exchange,提问作者Puneet Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 16:13:10