通过 ssh 将 Teamcity 部署到另一台服务器

Teamcity deployment to another server via ssh

我正在尝试使用 teamcity deployer 插件 通过 ssh 将我的构建结果(war 文件)发送到网络中的另一台计算机。 我的问题是如何配置部署程序以找到我构建的 war 文件。 我在 Artifacts 路径设置中使用了 %teamcity.build.workingDir%**/*.war 但它在那里找不到任何文件。

日志显示它试图在此处找到我的文件 /home/teamcity/TeamCity/buildAgent/work/c4bca27d2b00a6fe**/*.war.

路径是正确的,但它不起作用...

用于访问构建工件的 teamcity 文档不明确,并且没有显示我应该在设置对话框中使用什么。

更新:

我尝试使用 **/mywar-1.0.war 和 **/build/libs/mywar-1.0.war,两者都有效,但现在的问题是,它部署文件及其子目录,如 dest/build/libs/mywar-1.0.war

但我需要 dest/mywar-1.0.war, 所以还是不知道怎么配置...

已在结帐目录 as documentation says 下解析工件,因此只需 **/*.war 就足够了。

Teamcity 部署程序插件,使用模式作为工件路径来查找要部署的文件,在大多数情况下,正如@Vlad 所说,使用 **/*.fileType**/filename.type 就足够了,

例如:**/*.war**/myprojectfile.war

但有时您的输出文件位于子目录树中,因此部署者使用模式案例在目标上创建这些子目录。 在这种情况下,我只需要没有其子目录的 war 文件,因此正确的方法是使用该文件的完整路径。

例如: 我的 war 文件在构建过程

后位于 build/libs/ 文件夹中

因此使用 build/libs/mywar.war 作为工件路径,将 war 部署到没有其子目录的目标。