所以,我正在编写构建和部署脚本。为了创建构建,我使用了ant。连续构建是用Jenkins完成的。 构建生成3个不同的工件: 战争档案 带有布局的拉链 带图片的拉链 到目前为止,这么好,但现在我需要编写部署脚本,它应该: 将war(工件1)部署到在服务器1上运行的tomcat 将工件2中的工件2放在特定目录中 将工件3中的工件3放在特定目录中 所以我正在和我的同事谈话,他说我们还应该生成一个工件(可能是deploy.xml),当放置在正确的服务器上时,它会部署这些工件。 所以会有另一个脚本,它会: 下载jenkins文物 scp到每个服务器并将deploy.xml放在那里 远程调用deploy.xml 让我有点不舒服的是将deploy.xml作为构建工件的行为。这背后的动机是能够在不需要访问VCS存储库的情况下进行部署,因此构建将是自包含的,即任何构建只能使用Jenkins生成的内容进入生产。 部署脚本应该放在哪里?它们应该只是VCS还是构建工件呢?
请提供是否有任何示例部署脚本
答案 0 :(得分:1)
我编写了自己的部署框架,包含不同的shell,batch,python和....脚本。它巧妙地将环境信息与应用程序信息分开,并允许我快速更新部署信息并添加新的应用程序或环境。然而,不同部分的编排是由詹金斯完成的。当只是将文件复制到Windows服务器时,我的Jenkins主机(在Windows上运行)只是将文件复制到公开目标目录的网络共享。服务我可以使用sc.exe远程重启。当跨越边界到AIX时,我使用通过目标系统上的ssh启动的jenkins从属。因此,分发由Jenkins管理。实际工作由脚本完成。