0

我正在尝试使用 GoCD 设置部署管道,如下所示:

  1. 编译、测试并部署到 Maven 仓库
    1. 查看 SVN 的源代码
    2. 运行 mvn clean compile test install
    3. 运行 mvn deploy 以将 WAR 工件部署到 Sonatype 存储库
  2. 部署到 Tomcat 服务器
    1. 从 Sonatype 存储库中检索 WAR 工件
    2. 运行 mvn tomcat7:redeploy 将其部署到我正在运行的 Tomcat 实例

问题是,我似乎无法拆分 1.2 和 1.3(例如),而不必在 1.3 中再次重新运行整个源代码检查。这对我来说似乎是多余的,因为我已经将它升级到了打包阶段,并且应该能够从那里继续运行。

在 1.3 和 2.2 之间,我可以看到它可以从 Sonatype 检索 WAR 工件,但我不能用 maven 做很多事情,因为我没有 pom.xml 可以用来执行 maven 任务。当然,我可以只添加源代码材料并再次运行整个 mvn 包 tomcat7:redeploy 循环,但我很确定这不是最初设计的目的。

我还可以编写一个 shell 脚本并要求 Go 运行它以将 WAR 文件复制到正确的位置,但同样,我本可以在一个 maven pass 中完成所有事情并节省一些精力,但这只会将整个管道减少到一个单个框对帮助可视化部署管道没有多大帮助。

如果我想将 maven 任务流拆分为不同的 Go 任务/管道,我能否就如何设计此管道获得一些建议?

谢谢黄

4

0 回答 0