这是一个用Java编写的Web项目。
因此,我正在编写构建和部署脚本。为了创建构建,我使用了ant。詹金斯(Jenkins)完成了连续构建。
构建生成3个不同的工件:
- 战争档案
- 带布局的拉链
- 带图片的拉链
到目前为止,一切都很好,但是现在我需要编写部署脚本,该脚本应该:
- 将战争(工件1)部署到在服务器1上运行的tomcat
- 将工件2放置在服务器1的特定目录中
- 将工件3放置在服务器2的特定目录中
因此,我正在与我的同事交谈,他说我们还应该生成一个工件(也许是deploy.xml),当将其放置在正确的服务器上时,就可以部署这些工件。
因此,将有另一个脚本,它将是:
- 下载詹金斯文物
- scp到每个服务器,并将deploy.xml放在此处
- 远程调用deploy.xml
使我有些不舒服的是将deploy.xml作为构建工件的行为。其背后的动机是能够进行部署而无需访问VCS存储库,因此构建将是自包含的,即,任何构建只能使用Jenkins生成的内容才能投入生产。
部署脚本应该放在哪里?它们应该只在VCS还是应该是构建工件?
这个问题很好/它使我们想要加一/希望我能回答
—
amara