我在AEM和Maven中也很新,我想为我的AEM网站实施CI。
以下是我想在Go.CD或Jenkins中实施的流程,我已经知道如何进行前3个阶段。
我现在正在努力争取第4号和第5号(与第4号相同)。
我想将上传到nexus存储库的工件mvn clean install -PautoInstallPackage
但不安装当前代码。
请参阅下面各阶段的评论
+-----------+
(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.
非常感谢您的帮助。
答案 0 :(得分:4)
第4步和第5步不在maven构建/部署阶段。这些与跨环境的代码推广过程更相关,这些过程可能因组织而异。
由于您正在使用AEM,因此可以选择使用curl将工件(AEM包或OSGI包)部署到服务器。可以找到许多常用的卷曲命令here
您可以创建可以将工件上传/安装/卸载到AEM的脚本。脚本的输入可以是您的预期服务器环境和工件名称/版本。然后,Jenkins作业可以触发那些脚本,从Jenkins控制变量向脚本提供所需的输入。
e.g。 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传递的变量。
如果你的软件包在本地nexus repo中,你可以下载使用此脚本安装到AEM之前的软件包。
答案 1 :(得分:0)
您可以使用Vault maven插件来部署工件。它位于http://repo.adobe.com。插件的示例用法是:
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>0.0.23</version>
<extensions>true</extensions>
<configuration>
<failOnError>true</failOnError>
<userId>${aem.user}</userId>
<password>${aem.password}</password>
</configuration>
</plugin>
您还应该将adobe存储库添加到您的maven POM中:
<repository>
<id>adobe-public-releases</id>
<name>Adobe Basel Public Repository</name>
<url>http://repo.adobe.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
您可以查看有关它的官方文档https://docs.adobe.com/docs/en/aem/6-0/develop/dev-tools/vlt-mavenplugin.html