From 10cfa870051109a7beb4711338be212a5f450c91 Mon Sep 17 00:00:00 2001
From: Maxim Thomas <maxim.thomas@gmail.com>
Date: Thu, 07 Feb 2019 07:30:49 +0000
Subject: [PATCH] FIX Dockerfile https://github.com/OpenIdentityPlatform/OpenDJ/issues/35
---
opendj-packages/opendj-docker/pom.xml | 5 +++--
opendj-packages/opendj-docker/run.sh | 11 ++++++++---
opendj-packages/opendj-openshift-template/opendj-openshift-template.yaml | 0
.travis.yml | 24 ++++++++++++------------
opendj-packages/opendj-docker/Dockerfile | 12 +++++-------
5 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index fb00939..98d0ee9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,11 +9,11 @@
sudo: required
services:
- docker
- before_deploy:
+ before_deploy:
- git config --local user.name "Open Identity Platform Community" && git config --local user.email "open-identity-platform-opendj@googlegroups.com"
- git checkout -f $TRAVIS_BRANCH
- git tag -f $git_version && git tag -d $git_version
- - mvn -q -B -DreleaseVersion="$git_version" -DignoreSnapshots=true -DpushChanges=false -DscmCommentPrefix="[ci skip] $git_version_last->$git_version " -DskipTests -Darguments=-DskipTests -Dresume=false -P distribution release:prepare
+ - mvn -q -B -DreleaseVersion="$git_version" -DignoreSnapshots=true -DpushChanges=false -DscmCommentPrefix="[ci skip] $git_version_last->$git_version " -DskipTests -Darguments=-DskipTests -Dresume=false -P distribution release:prepare
- git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.git >/dev/null 2>&1
- git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.git $git_version >/dev/null 2>&1
deploy:
@@ -29,13 +29,13 @@
skip_cleanup: true
overwrite: true
file_glob: true
- file:
+ file:
- "opendj-server-legacy/target/package/*.zip"
- "opendj-ldap-toolkit/target/*.zip"
- "opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb"
- "opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm"
- "opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi"
- - "opendj-packages/opendj-docker/target/Dockerfile"
+ - "opendj-packages/opendj-docker/target/Dockerfile.zip"
- "opendj-packages/opendj-openshift-template/*.yaml"
- "opendj-doc-generated-ref/target/*.zip"
- "opendj-dsml-servlet/target/*.war"
@@ -43,21 +43,21 @@
on:
repo: OpenIdentityPlatform/OpenDJ
tags: false
- branch:
+ branch:
- master
- travis
after_deploy:
- echo 'after_deploy'
- echo 'publish docs in wiki'
- - git clone https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git ../wiki >/dev/null 2>&1
- - rm -rf ../wiki/docbkx; mv opendj-doc-generated-ref/target/docbkx ../wiki;
+ - git clone https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git ../wiki >/dev/null 2>&1
+ - rm -rf ../wiki/docbkx; mv opendj-doc-generated-ref/target/docbkx ../wiki;
- cd ../wiki; git add -A; git commit -a -m "upload docs after deploy $git_version"; git tag -f $git_version
- git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git >/dev/null 2>&1
- - git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git $git_version >/dev/null 2>&1
+ - git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git $git_version >/dev/null 2>&1
- cd $TRAVIS_BUILD_DIR
- echo 'build and push Docker'
- docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
- - docker build ./opendj-packages/opendj-docker/target -t $DOCKER_USERNAME/opendj -t $DOCKER_USERNAME/opendj:$git_version
+ - docker build ./opendj-packages/opendj-docker/target/opendj-docker -t $DOCKER_USERNAME/opendj -t $DOCKER_USERNAME/opendj:$git_version
- docker push $DOCKER_USERNAME/opendj:$git_version
- docker push $DOCKER_USERNAME/opendj
- os: linux
@@ -68,11 +68,11 @@
jdk: openjdk11
- os: osx
osx_image: xcode9.3
- env:
+ env:
- WINEPREFIX=~/.wine32 WINEARCH=win32 # wine on mac hangs
- os: osx
osx_image: xcode10.1
- env:
+ env:
- WINEPREFIX=~/.wine32 WINEARCH=win32 # wine on mac hangs
allow_failures:
- os: osx
@@ -85,7 +85,7 @@
before_install:
- date -u
- uname -a
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then brew install rpm wine; else sudo apt-get install -y rpm wine; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then brew install rpm wine; else sudo apt-get install -y rpm wine; fi
- git fetch -t
- export git_version_last="$(git describe --abbrev=0 --tags)"
- export git_version="$(echo $git_version_last | awk -F . '{ printf "%d.%d.%d", $1,$2,$3 + 1}')"
diff --git a/opendj-packages/opendj-docker/Dockerfile b/opendj-packages/opendj-docker/Dockerfile
index 878b909..b6aeaac 100644
--- a/opendj-packages/opendj-docker/Dockerfile
+++ b/opendj-packages/opendj-docker/Dockerfile
@@ -20,9 +20,7 @@
ENV OPENDJ_REPLICATION_TYPE=${OPENDJ_REPLICATION_TYPE}
-ENV VERSION=@project_version@
-
-#ENV VERSION=4.3.1
+ARG VERSION=@project_version@
ENV OPENDJ_USER="opendj"
@@ -33,9 +31,6 @@
unzip opendj-$VERSION.zip && \
rm -r opendj-$VERSION.zip
-RUN echo "/opt/opendj/data" > /opt/opendj/instance.loc && \
- mkdir -p /opt/opendj/data/lib/extensions
-
ADD bootstrap/ /opt/opendj/bootstrap/
ADD run.sh /opt/opendj/run.sh
@@ -43,7 +38,10 @@
RUN useradd -m -r -u 1001 -G root,sudo $OPENDJ_USER
RUN chgrp -R 0 /opt/opendj && \
- chmod -R g=u /opt/opendj
+ chmod -R g=u /opt/opendj && \
+ chmod +x /opt/opendj/run.sh \
+ /opt/opendj/bootstrap/setup.sh \
+ /opt/opendj/bootstrap/replicate.sh
EXPOSE $PORT $LDAPS_PORT 4444
diff --git a/opendj-packages/opendj-docker/pom.xml b/opendj-packages/opendj-docker/pom.xml
index d48c482..2f5e240 100644
--- a/opendj-packages/opendj-docker/pom.xml
+++ b/opendj-packages/opendj-docker/pom.xml
@@ -48,16 +48,17 @@
<phase>prepare-package</phase>
<configuration>
<tasks>
- <copy todir="${project.build.directory}">
+ <copy todir="${project.build.directory}/opendj-docker/">
<fileset dir="${basedir}">
<include name="Dockerfile" /> <!--NOTE DIFFERENCE HERE-->
<include name="bootstrap/**" />
<include name="run.sh" />
</fileset>
</copy>
- <replace token="@project_version@" value="${project.version}" dir="target/">
+ <replace token="@project_version@" value="${project.version}" dir="${project.build.directory}/opendj-docker/">
<include name="Dockerfile" />
</replace>
+ <zip basedir="${project.build.directory}" destfile="${project.build.directory}/Dockerfile.zip" includes="opendj-docker/**" />
</tasks>
</configuration>
<goals>
diff --git a/opendj-packages/opendj-docker/run.sh b/opendj-packages/opendj-docker/run.sh
index d91e4ea..e93ae08 100755
--- a/opendj-packages/opendj-docker/run.sh
+++ b/opendj-packages/opendj-docker/run.sh
@@ -10,6 +10,11 @@
cd /opt/opendj
+#if defaul data folder exists do not change it
+if [ ! -d ./db ] ; then
+ echo "/opt/opendj/data" > /opt/opendj/instance.loc && \
+ mkdir -p /opt/opendj/data/lib/extensions
+fi
# Instance dir does not exist? Then we need to run setup
if [ ! -d ./data/config ] ; then
@@ -33,6 +38,7 @@
/opt/opendj/bootstrap/replicate.sh
fi
else
+ sh ./upgrade -n
exec ./bin/start-ds --nodetach
return
fi
@@ -56,9 +62,8 @@
while true; do sleep 100000; done
fi
+echo "Try to upgrade OpenDJ"
+sh ./upgrade -n
echo "Starting OpenDJ"
-
-#
-
exec ./bin/start-ds --nodetach
diff --git a/opendj-packages/opendj-openshift-template/opendj-template.yaml b/opendj-packages/opendj-openshift-template/opendj-openshift-template.yaml
similarity index 100%
rename from opendj-packages/opendj-openshift-template/opendj-template.yaml
rename to opendj-packages/opendj-openshift-template/opendj-openshift-template.yaml
--
Gitblit v1.10.0