From ab202d1f3d631bf780d23fc7eb7e2d6c041c6dd5 Mon Sep 17 00:00:00 2001 From: Gethin James Date: Tue, 14 Jun 2016 14:47:04 +0200 Subject: [PATCH] SEARCH-9: Configuring directories for content / models / index --- README.MD | 5 +---- packaging/Dockerfile | 13 ++++++++++++- packaging/buildAndTest.sh | 6 ++++-- packaging/docker-compose.yml | 6 +++--- packaging/src/assembly/solr-distribution.xml | 8 -------- packaging/src/test/resources/solr.in.sh | 4 ++++ 6 files changed, 24 insertions(+), 18 deletions(-) create mode 100755 packaging/src/test/resources/solr.in.sh diff --git a/README.MD b/README.MD index 8c90fd71c..0bd979d25 100644 --- a/README.MD +++ b/README.MD @@ -6,8 +6,6 @@ Git: git clone https://gitlab.alfresco.com/search_discovery/solr.git - cd solr - ### Use Maven 1. Build @@ -19,10 +17,9 @@ mvn clean install To build the docker image, first run the maven build then ``` cd packaging -./build.sh +./buildAndTest.sh ``` - ### License Copyright (C) 2016 Alfresco Software Limited diff --git a/packaging/Dockerfile b/packaging/Dockerfile index 18d09bef8..7a7b0723b 100644 --- a/packaging/Dockerfile +++ b/packaging/Dockerfile @@ -5,6 +5,9 @@ MAINTAINER Gethin James, gethin.james@alfresco.com ENV SOLR_ZIP target/alfresco-solr-distribution-*.zip ENV DIST_DIR /opt/alfresco-solr +ENV SOLR_SOLR_CONTENT_DIR $DIST_DIR/data/content +ENV SOLR_SOLR_MODEL_DIR $DIST_DIR/data/alfrescoModels +ENV SOLR_INCLUDE $DIST_DIR/solr.in.sh RUN groupadd -r solr && useradd -r -g solr -s /bin/bash solr @@ -14,9 +17,17 @@ RUN apt-get update && apt-get install -y \ --no-install-recommends && rm -r /var/lib/apt/lists/* COPY $SOLR_ZIP $DIST_DIR/ +COPY target/test-classes/solr.in.sh $DIST_DIR/ WORKDIR $DIST_DIR -RUN unzip *.zip -d $DIST_DIR/ && rm *.zip && chown -R solr:solr $DIST_DIR/* +RUN unzip *.zip -d $DIST_DIR/ && rm *.zip && \ + mkdir -p $SOLR_SOLR_CONTENT_DIR && \ + mkdir -p $DIST_DIR/data/index && \ + mv $DIST_DIR/solrhome/alfrescoModels $DIST_DIR/data/ && \ + mv $DIST_DIR/solrhome $DIST_DIR/data/ && \ + chown -R solr:solr $DIST_DIR + +VOLUME /opt/alfresco-solr/data EXPOSE 8983 USER solr CMD [ "/opt/alfresco-solr/solr/bin/solr", "start", "-f" ] diff --git a/packaging/buildAndTest.sh b/packaging/buildAndTest.sh index 83bc697ff..d814cf10f 100755 --- a/packaging/buildAndTest.sh +++ b/packaging/buildAndTest.sh @@ -26,8 +26,10 @@ if ! docker inspect "$dockerImage" &> /dev/null; then fi # running tests -docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data ] || (echo "Data dir does not exist" && exit 1) -docker run --rm "$dockerImage" [ -e /opt/alfresco-solr/solrhome/conf/shared.properties ] || (echo "shared.properties does not exist" && exit 1) +docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/solr ] || (echo "solr dir does not exist" && exit 1) +docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data/content ] || (echo "content dir does not exist" && exit 1) +docker run --rm "$dockerImage" [ -d /opt/alfresco-solr/data/alfrescoModels ] || (echo "alfrescoModels dir does not exist" && exit 1) +docker run --rm "$dockerImage" [ -e /opt/alfresco-solr/data/solrhome/conf/shared.properties ] || (echo "shared.properties does not exist" && exit 1) docker run --rm "$dockerImage" /opt/alfresco-solr/solr/bin/solr start echo "Publishing $dockerImage..." diff --git a/packaging/docker-compose.yml b/packaging/docker-compose.yml index 84d8c2938..58f8a4a7a 100644 --- a/packaging/docker-compose.yml +++ b/packaging/docker-compose.yml @@ -13,12 +13,12 @@ services: image: dockerreg.alfresco.com/alfresco-solr:master-latest command: [ "/opt/alfresco-solr/solr/bin/solr", "start", "-f", "-a", "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"] environment: - #Alfresco needs to know how to call solr - SOLR_PROXY_HOST: solr6 - SOLR_PROXY_PORT: 8983 #Solr needs to know how to call Alfresco SOLR_ALFRESCO_HOST: repo SOLR_ALFRESCO_PORT: 8080 + #Alfresco (admin console) needs to know how to call solr + SOLR_PROXY_HOST: solr6 + SOLR_PROXY_PORT: 8983 ports: - "8083:8983" - "1044:1044" diff --git a/packaging/src/assembly/solr-distribution.xml b/packaging/src/assembly/solr-distribution.xml index ec2b24bad..a43dd958d 100644 --- a/packaging/src/assembly/solr-distribution.xml +++ b/packaging/src/assembly/solr-distribution.xml @@ -35,13 +35,5 @@ context.xml - - - src/assembly - data - - * - - diff --git a/packaging/src/test/resources/solr.in.sh b/packaging/src/test/resources/solr.in.sh new file mode 100755 index 000000000..054755750 --- /dev/null +++ b/packaging/src/test/resources/solr.in.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Path to a directory for Solr to store cores and their data. By default, Solr will use server/solr +# This directory needs to contain solr.xml +SOLR_HOME=$DIST_DIR/data/solrhome \ No newline at end of file