我在AEM和Maven中也很新,我想为我的AEM网站实现CI。
下面是要在Go.CD或Jenkins中实现的流程,在这些流程中,我已经弄清楚了如何执行前三个阶段。
我现在正挣扎于4号和5号(与4号相同)。
我想处理mvn clean install -PautoInstallPackage
上传到nexus存储库的工件,但不安装当前代码。
请在以下阶段旁边查看评论
+-----------+
(1) | GIT | Start the pipe line when
+-----+-----+ code is committed.
|
v
+-----+-----+
(2) | UNIT TEST | Run the *mvn test*
+-----+-----+
|
v
+-----+-----+ Run the *mvn clean deploy*
(3) | DEPLOY | And this uploads the artifacts
+-----+-----+ to a private nexus repository
|
v
+-----+-----+ Install the artifact compiled, jar'ed
(4) | INSTALL TO| and uploaded to nexus repository in stage 3
| QA ENV | when manually triggered.
+-----+-----+
|
v
+-----+-----+ Install the same artifact from the
(5) | INSTALL TO| current pipeline compiled in
| STAGING | stage 3 to staging when manually
+-----------+ triggered.
非常感谢您的帮助。
步骤4和5在Maven构建/部署阶段之外。这些与跨环境的代码升级流程更为相关,跨环境的代码升级流程可能因组织而异。
由于您正在使用AEM,因此有一些选项可以使用curl将构件(AEM软件包或OSGI捆绑软件)部署到服务器。许多常用的curl命令可以在这里找到
您可以创建脚本,这些脚本可以将工件上传/安装/卸载到AEM。脚本的输入可以是您想要的服务器环境和工件名称/版本。然后,Jenkins作业可以触发这些脚本,从而从Jenkins控制变量向脚本提供所需的输入。
例如curl -u username:password -F file=@"name of zip file" -F name="name of package" -F force=true -F install=true http://localhost:4503/crx/packmgr/service.jsp
。
这是软件包安装shell脚本的症结所在。用户名,密码,AEM服务器URL包zip都可以是变量,当作业触发此脚本的执行时,可以从Jenkins传递这些变量。
如果您的软件包位于本地关系仓库中,则可以使用此脚本在安装到AEM之前先下载软件包。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句