如何集成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插件自动生成(推荐)
创建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中自定义文件的目标部署路径。
- 新建
配置构建工件
在Build Configuration的General Settings > Artifacts中,设置工件输出规则(例:**/* => artifacts.zip),确保所有需要推送的文件都被打包,供uDeploy插件调用。
方法2:手动编写并嵌入构建工件
若需更精细的配置控制,可手动编写deploymentconfig.xml:
- 编写配置文件示例
<?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仓库,或在构建步骤中生成。
- 集成到构建流程
- 添加
Command Line或PowerShell构建步骤,将deploymentconfig.xml与二进制文件、配置文件打包到同一工件中。 - 使用uDeploy插件的推送步骤,选择包含该配置文件的工件,插件会自动识别并使用自定义的deploymentconfig.xml。
三、验证集成效果
运行TeamCity构建,查看构建日志确认版本推送成功;登录uDeploy控制台,进入目标组件的版本列表,检查新生成的版本是否包含所有指定文件及正确的deploymentconfig.xml。
内容的提问来源于stack exchange,提问作者Puneet Tiwari
相关产品推荐
相关产品推荐

