我的目标是设置安装到docker镜像的吊索项目,以备使用。我可以手动完成所有这些步骤,但将它们放在一起进行CI构建是很困难的。
如果我使用tomcat,在dockerfile中我只需将war复制到install文件夹,它将在容器首次启动时安装。
我无法找到OOTB版吊索附带的类似'install'文件夹。 Sling documentation说我需要使用HTTP来进行安装。这是一个问题,因为它需要我在构建泊坞窗图像时启动Sling,但如果我这样做,图像将永远不会完成构建。
我正在尝试编写一行bash来执行以下操作
我的Dockerfile
FROM java:8
COPY /maven/org.apache.sling.launchpad-8.jar /opt/sling/
COPY /maven/custombundle.jar /opt/sling/sling/installerfolder
WORKDIR /opt/sling/
EXPOSE 8080
VOLUME /opt/sling/sling
RUN java $JAVA_OPTS -jar org.apache.sling.launchpad-8.jar $SLING_OPTS & ; until $(curl --output /dev/null --silent --head --fail http://localhost:8080/index.html); do sleep 5 ; done ; #TODO install bundle
#Docker will snapshot the image here
我得到的问题是“返回非零”
The command '/bin/sh -c java $JAVA_OPTS -jar org.apache.sling.launchpad-8.jar $SLING_OPTS & ; until $(curl --output /dev/null --silent --head --fail http://localhost:8080/index.html); do ; sleep 5 ; done' returned a non-zero code: 2 -> [Help 1]
您可以在此处查看我的完整项目: https://bitbucket.org/rickardstech/hawksite/src
答案 0 :(得分:1)
使用文件安装程序提供程序存在一个解决方案: https://sling.apache.org/documentation/bundles/file-installer-provider.html
只需在目录
中配置和复制捆绑包