很抱歉,如果对该主题已有疑问,但我找不到。 我目前有一个TFS(内部部署)服务器使用安装在Ubuntu机器上的代理构建Maven项目。
构建成功,生成的Jar文件将在构建结果的Artifacts选项卡中发布。
现在,如果我想通过SSH将这个jar部署到不同的Linux服务器,下一步是什么?
我读了一些文章说明我应该在TFS中使用发布作业,但找不到任何有用的例子,
我假设我可以执行PowerShell / python脚本作为构建步骤并将jar放到我需要的地方,但我真的更喜欢“正确”地执行它。
答案 0 :(得分:1)
最简单的方法是在目标计算机上安装代理,创建一个针对特定计算机的发布管道代理阶段,并运行shell脚本来处理任何您想要的人工制品。作为代理阶段的一部分,人工制品将自动从服务器下载。
或者,您可以在ubuntu框上运行Release Pipeline Agent Phase,并使用sftp upload任务将人工制品从ubuntu代理推送到目标服务器。然后使用SSH任务进入服务器并执行您想要执行的操作。
或者你可以从你的ubuntu框(使用SSH任务)进入目标服务器,然后使用curl或其他东西使用REST API下载文物。
在Release阶段和Build阶段中执行脚本是非常正常的事情。您可能需要将脚本放在git仓库或中心位置,以确保它们可以作为发布工作流程的一部分进行访问。您还可以将它们作为第二个人工制品附加到构建中,然后将它们还原到执行发布阶段的代理程序。