You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2020/09/30 21:29:13 UTC
[sling-org-apache-sling-app-cms] 02/02: Updating to build the
author/renderer as a part of the docker compose
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 3edbcbb24923038c95bb9290c7d59a1862167ade
Author: Dan Klco <dk...@apache.org>
AuthorDate: Wed Sep 30 17:28:06 2020 -0400
Updating to build the author/renderer as a part of the docker compose
---
docker/cms/Dockerfile | 16 +++++++++++-----
docker/cms/download-dependencies.sh | 26 ++++++++++++++++++++------
docker/cms/setup-composite.sh | 9 ++++++---
docker/docker-compose.yml | 21 +++++++++++++++++----
docker/webcache/cms.conf | 4 ++--
docker/webcache/site.conf | 8 ++++----
6 files changed, 60 insertions(+), 24 deletions(-)
diff --git a/docker/cms/Dockerfile b/docker/cms/Dockerfile
index 067f067..ee53fce 100644
--- a/docker/cms/Dockerfile
+++ b/docker/cms/Dockerfile
@@ -14,12 +14,17 @@
# Pull base image.
FROM adoptopenjdk:11-jre-openj9
-ARG FM_GROUP_ID=org.apache.sling
-ARG FM_ARTIFACT_ID=org.apache.sling.cms.feature
-ARG FM_VERSION=0.16.3-SNAPSHOT
+ARG ADDITIONAL_FEATURE_COORDINATE=
+ARG CMS_GROUP_ID=org.apache.sling
+ARG CMS_ARTIFACT_ID=org.apache.sling.cms.feature
+ARG CMS_VERSION=0.16.3-SNAPSHOT
+ARG LAUNCHER_VERSION=1.1.6
ARG FM_SEED_CLASSIFIER=slingcms-composite-seed
+ARG FM_RUNMODE_CLASSIFIER=runmode-standalone
ARG FM_RUNTIME_CLASSIFIER=slingcms-composite-runtime
-ENV FM_ARTIFACT_ID=${FM_ARTIFACT_ID}
+ENV ADDITIONAL_FEATURE_COORDINATE=${ADDITIONAL_FEATURE_COORDINATE}
+ENV CMS_ARTIFACT_ID=${CMS_ARTIFACT_ID}
+ENV FM_RUNMODE_CLASSIFIER=${FM_RUNMODE_CLASSIFIER}
ENV FM_RUNTIME_CLASSIFIER=${FM_RUNTIME_CLASSIFIER}
# Configure directories
@@ -40,4 +45,5 @@ EXPOSE 8080
# Start Sling CMS
CMD exec java -jar org.apache.sling.feature.launcher.jar \
- -f ${FM_ARTIFACT_ID}-${FM_RUNTIME_CLASSIFIER}.slingosgifeature
+ -f *.slingosgifeature \
+ -f features/*.slingosgifeature
diff --git a/docker/cms/download-dependencies.sh b/docker/cms/download-dependencies.sh
index 9705148..ae5ec91 100644
--- a/docker/cms/download-dependencies.sh
+++ b/docker/cms/download-dependencies.sh
@@ -11,24 +11,38 @@
# and limitations under the License.
#
-mkdir -p /opt/slingcms
+mkdir -p /opt/slingcms/features
cd /opt/slingcms
echo "Downloading Feature Launcher..."
mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
- -Dartifact=org.apache.sling:org.apache.sling.feature.launcher:1.1.4:jar \
+ -Dartifact=org.apache.sling:org.apache.sling.feature.launcher:${LAUNCHER_VERSION}:jar \
-DoutputDirectory=/opt/slingcms \
-Dmdep.stripVersion=true \
- || { echo 'Failed to download Feature Launcher' ; exit 1; }
+ || { echo 'Failed to download Feature Launcher' ; exit 1; }
echo "Downloading Feature Models..."
mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
- -Dartifact=${FM_GROUP_ID}:${FM_ARTIFACT_ID}:${FM_VERSION}:slingosgifeature:${FM_SEED_CLASSIFIER} \
+ -Dartifact=${CMS_GROUP_ID}:${CMS_ARTIFACT_ID}:${CMS_VERSION}:slingosgifeature:${FM_SEED_CLASSIFIER} \
-DoutputDirectory=/opt/slingcms/setup \
-Dmdep.stripVersion=true \
|| { echo 'Failed to download composite seed' ; exit 1; }
mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
- -Dartifact=${FM_GROUP_ID}:${FM_ARTIFACT_ID}:${FM_VERSION}:slingosgifeature:${FM_RUNTIME_CLASSIFIER} \
+ -Dartifact=${CMS_GROUP_ID}:${CMS_ARTIFACT_ID}:${CMS_VERSION}:slingosgifeature:${FM_RUNTIME_CLASSIFIER} \
-DoutputDirectory=/opt/slingcms \
-Dmdep.stripVersion=true \
- || { echo 'Failed to download composite runtime' ; exit 1; }
\ No newline at end of file
+ || { echo 'Failed to download composite runtime' ; exit 1; }
+mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
+ -Dartifact=${CMS_GROUP_ID}:${CMS_ARTIFACT_ID}:${CMS_VERSION}:slingosgifeature:${FM_RUNMODE_CLASSIFIER} \
+ -DoutputDirectory=/opt/slingcms/features \
+ -Dmdep.stripVersion=true \
+ || { echo 'Failed to download author feature' ; exit 1; }
+
+if [[ ! -z ${ADDITIONAL_FEATURE_COORDINATE} ]]; then
+ echo "Downloading Additional Feature ${ADDITIONAL_FEATURE_COORDINATE}"
+ mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
+ -Dartifact=${ADDITIONAL_FEATURE_COORDINATE} \
+ -DoutputDirectory=/opt/slingcms/features \
+ -Dmdep.stripVersion=true \
+ || { echo "Failed to download feature ${ADDITIONAL_FEATURE_COORDINATE}" ; exit 1; }
+fi
\ No newline at end of file
diff --git a/docker/cms/setup-composite.sh b/docker/cms/setup-composite.sh
index fec1a03..bec941d 100644
--- a/docker/cms/setup-composite.sh
+++ b/docker/cms/setup-composite.sh
@@ -16,14 +16,15 @@ SLING_PASSWORD="${SLING_PASSWORD:-admin}"
echo "Creating composite seed..."
java -jar org.apache.sling.feature.launcher.jar \
- -f /opt/slingcms/setup/${FM_ARTIFACT_ID}-${FM_SEED_CLASSIFIER}.slingosgifeature &
+ -f /opt/slingcms/setup/${CMS_ARTIFACT_ID}-${FM_SEED_CLASSIFIER}.slingosgifeature \
+ -f /opt/slingcms/features/*.slingosgifeature &
SLING_PID=$!
echo "Sling PID: ${SLING_PID}"
sleep 30s
STARTED=1
-for i in {1..10}; do
- echo "Checking to see if started with username: ${SLING_USERNAME}..."
+for i in {1..20}; do
+ echo "[${i}/20]: Checking to see if started with username: ${SLING_USERNAME}..."
STATUS=$(curl -4 -s -o /dev/null -w "%{http_code}" -u${SLING_USERNAME}:${SLING_PASSWORD} "http://localhost:8080/system/health.txt?tags=systemalive")
echo "Retrieved status: ${STATUS}"
if [ $STATUS -eq 200 ]; then
@@ -34,6 +35,8 @@ for i in {1..10}; do
done
sleep 30s
kill $SLING_PID
+echo "Waiting for instance to stop..."
+sleep 30s
if [ $STARTED -eq 1 ]; then
echo "Failed to seed sling repository!"
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 27856bb..cc3df4f 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -11,15 +11,28 @@
#
version: '3.4'
services:
- cms:
- build: cms
+ author:
+ build:
+ context: cms
+ args:
+ FM_RUNMODE_CLASSIFIER: runmode-author
ports:
- "8080:8080"
volumes:
- - sling-repository:/opt/slingcms/sling/composite/repository-global
+ - sling-author:/opt/slingcms/sling/composite/repository-global
+ renderer:
+ build:
+ context: cms
+ args:
+ FM_RUNMODE_CLASSIFIER: runmode-renderer
+ ports:
+ - "8090:8080"
+ volumes:
+ - sling-renderer:/opt/slingcms/sling/composite/repository-global
webcache:
build: webcache
ports:
- "80:80"
volumes:
- sling-repository:
+ sling-author:
+ sling-renderer:
diff --git a/docker/webcache/cms.conf b/docker/webcache/cms.conf
index 47fa459..6c9ce63 100644
--- a/docker/webcache/cms.conf
+++ b/docker/webcache/cms.conf
@@ -17,6 +17,6 @@
TransferLog /var/log/apache2/sling-cms-access.log
ProxyPass /.well-known !
- ProxyPass / http://cms:8080/
- ProxyPassReverse / http://cms:8080/
+ ProxyPass / http://author:8080/
+ ProxyPassReverse / http://author:8080/
</VirtualHost>
diff --git a/docker/webcache/site.conf b/docker/webcache/site.conf
index 57ae148..811b3bb 100644
--- a/docker/webcache/site.conf
+++ b/docker/webcache/site.conf
@@ -38,10 +38,10 @@
# Configure Proxy
ProxyPass /.well-known !
ProxyPass /ERROR !
- ProxyPass /static/clientlibs/reference/ http://cms:8080/static/clientlibs/reference/ connectiontimeout=10 timeout=60 retry=0
- ProxyPassReverse /static/clientlibs/reference/ http://cms:8080/static/clientlibs/reference/
- ProxyPass / http://cms:8080/content/apache/sling-apache-org/ connectiontimeout=10 timeout=60 retry=0
- ProxyPassReverse /content/apache/sling-apache-org/ http://cms:8080/content/apache/sling-apache-org/
+ ProxyPass /static/clientlibs/reference/ http://renderer:8080/static/clientlibs/reference/ connectiontimeout=10 timeout=60 retry=0
+ ProxyPassReverse /static/clientlibs/reference/ http://renderer:8080/static/clientlibs/reference/
+ ProxyPass / http://renderer:8080/content/apache/sling-apache-org/ connectiontimeout=10 timeout=60 retry=0
+ ProxyPassReverse /content/apache/sling-apache-org/ http://renderer:8080/content/apache/sling-apache-org/
# Security / Hardening
AllowEncodedSlashes on