0

所以,我正在编写构建和部署脚本。为了创建构建,我使用了 ant。持续构建是由 Jenkins 完成的。构建生成 3 个不同的工件: 战争文件 带有布局的 zip 带有图像的 zip 到目前为止,一切都很好,但现在我需要编写部署脚本,它应该: 将战争(工件 1)部署到在服务器上运行的 tomcat 1 将工件 2 放在服务器 1 的特定目录中 将工件 3 放在服务器 2 的特定目录中 所以我和我的同事交谈,他说我们还应该生成一个工件(可能是 deploy.xml)来部署这些工件当放置在正确的服务器上时。所以会有另一个脚本,它将: 将 jenkins 工件 scp 下载到每个服务器并将 deploy.xml 放在那里远程调用部署。xml 让我有点不舒服的是将 deploy.xml 作为构建工件的行为。这背后的动机是能够在不需要访问 VCS 存储库的情况下进行部署,因此构建将是自包含的,即任何构建都只能使用 Jenkins 生成的内容投入生产。部署脚本应该放在哪里?它们应该只在 VCS 中,还是应该也是构建工件?

请提供是否有任何示例部署脚本

4

1 回答 1

1

我编写了自己的部署框架,由不同的 shell、批处理、python 和 .... 脚本组成。它将环境信息与应用程序信息巧妙地分开,并允许我快速更新部署信息并添​​加新的应用程序或环境。但是,不同部分的编排是由 Jenkins 完成的。当只是将文件复制到 Windows 服务器时,我的 Jenkins master(在 Windows 上运行)只是将文件复制到公开目标目录的网络共享。我可以使用 sc.exe 远程重启的服务。当跨越边界进入 AIX 时,我使用 jenkins 从属服务器,这些从属服务器是通过目标系统上的 ssh 启动的。因此分发由 Jenkins 管理。实际工作由脚本完成。

于 2013-11-13T17:40:33.030 回答