This commit is contained in:
Paul J Stevens 2022-10-16 14:10:55 +02:00
parent 3ee8359ac8
commit 3cd4fb83a5
6 changed files with 97 additions and 75 deletions

View File

@ -13,7 +13,7 @@ build:
docker compose build
install:
docker compose exec --user=www-data civi install.sh
docker compose exec --user=www-data civicrm install.sh
shell:
docker compose exec civi bash
docker compose exec civicrm bash

View File

@ -12,11 +12,10 @@ services:
WORDPRESS_DB_NAME: $WP_DB_NAME
CIVI_DB_NAME: $CIVI_DB_NAME
working_dir: /var/www/civi
volumes:
- civi-data:/var/www/civi
ports:
- 8080:80
volumes:
- ./wordpress:/var/www/civi
- ./wp/bin/reset.sh:/usr/local/bin/reset.sh
environment:
WORDPRESS_HOST: $WP_HOST
WORDPRESS_DB_HOST: db
@ -46,7 +45,8 @@ services:
- 80:80
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- ./wordpress:/var/www/civi
- civi-data:/var/www/civi
volumes:
db-data: ~
civi-data: ~

View File

@ -6,21 +6,9 @@ export PROJECT="civicrm"
export DOCKER_BUILDKIT=1
export VERSION=$(git rev-parse --short HEAD)
if [ -n "${CI_COMMIT_SHORT_SHA}" ]; then
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
export BRANCH_CACHE_TAG=$CI_COMMIT_REF_SLUG
export BRANCH_CACHE_TAG=$(git rev-parse --abbrev-ref HEAD | tr '/.-' '___')
export DOCKER_IMAGE=$CI_REGISTRY_IMAGE/${PROJECT}:$VERSION
export CACHE_FROM=$CI_REGISTRY_IMAGE/${PROJECT}:$BRANCH_CACHE_TAG
else
export BRANCH_CACHE_TAG=$(git rev-parse --abbrev-ref HEAD | tr '/.-' '___')
export DOCKER_IMAGE=${PROJECT}:$VERSION
export CACHE_FROM=${PROJECT}:$BRANCH_CACHE_TAG
fi
export DOCKER_IMAGE=${PROJECT}:$VERSION
export CACHE_FROM=${PROJECT}:$BRANCH_CACHE_TAG
docker build --file ./wp/Dockerfile --cache-from ${CACHE_FROM} --tag ${DOCKER_IMAGE} ./wp/
if [ -n "${CI_COMMIT_SHORT_SHA}" ]; then
docker push ${DOCKER_IMAGE}
fi

View File

@ -9,6 +9,7 @@ ARG WORDPRESS_DB_PASSWORD=password123
ARG CIVI_DB_NAME=civi_crm
ENV WP_VERSION=6.0.2
ENV CIVI_VERSION=5.48.0
ENV DB_ROOT_PASSWORD=password123
ENV DB_ADMIN_PASSWORD=password123
@ -17,11 +18,19 @@ RUN apt-get update \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-install intl pdo_mysql
RUN curl -L https://phar.phpunit.de/phpunit-9.5.phar -o /usr/local/bin/phpunit
RUN chmod +x /usr/local/bin/phpunit
RUN curl -L https://phar.phpunit.de/phpunit-9.5.phar -o /usr/local/bin/phpunit && chmod +x /usr/local/bin/phpunit
COPY bin/install.sh /usr/local/bin/install.sh
COPY bin/download.sh /usr/local/bin/download.sh
COPY bin/reset.sh /usr/local/bin/reset.sh
ADD https://download.civicrm.org/cv/cv.phar /usr/local/bin/cv
ADD https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar /usr/local/bin/wp
RUN chmod a+rx /usr/local/bin/cv /usr/local/bin/reset.sh /usr/local/bin/wp
RUN chmod a+rx /usr/local/bin/cv /usr/local/bin/install.sh /usr/local/bin/download.sh /usr/local/bin/wp
RUN chown -R www-data:www-data /var/www/
WORKDIR /var/www/civi/
RUN download.sh
USER www-data

55
wp/bin/download.sh Normal file
View File

@ -0,0 +1,55 @@
#!/bin/bash
set -e
function download_ext {
# work-around for timeout issues on lab.civicrm.org during download
echo "download_ext $@"
name="$1"
url="$2"
filename=$(mktemp)
curl -L --output $filename $url
unzip -q $filename
dirname=$(find -maxdepth 1 -name "${name}*" -type d)
dirname=$(basename $dirname)
[ "$dirname" = "$name" ] || mv -v $dirname $name
}
mkdir -p /var/www/civi/wp-content/plugins && cd /var/www/civi/wp-content/plugins
curl -L -o /tmp/civi.zip https://download.civicrm.org/civicrm-5.48.0-wordpress.zip
unzip /tmp/civi.zip -d .
curl -L -o /tmp/l10n.tar.gz https://download.civicrm.org/civicrm-5.48.0-l10n.tar.gz
tar -xf /tmp/l10n.tar.gz -C ./civicrm
mkdir -p /var/www/civi/wp-content/uploads/civicrm/ext && cd /var/www/civi/wp-content/uploads/civicrm/ext
git clone --depth 1 https://code.bij1.org/bij1/crm-bij1migratie.git
git clone --depth 1 https://code.bij1.org/bij1/crm-bij1rules.git
git clone --depth 1 https://code.bij1.org/bij1/crm-bij1algemeen.git
download_ext de.systopia.identitytracker https://github.com/systopia/de.systopia.identitytracker/releases/download/1.3/de.systopia.identitytracker-1.3.zip
download_ext org.project60.banking https://github.com/Project60/org.project60.banking/releases/download/0.7/org.project60.banking-0.7.zip
download_ext civirules https://lab.civicrm.org/extensions/civirules/-/archive/2.43/civirules-2.43.zip
download_ext assignee https://lab.civicrm.org/extensions/assignee/-/archive/1.3/assignee-1.3.zip
download_ext apikey https://lab.civicrm.org/extensions/apikey/-/archive/v1.3.5/apikey-v1.3.5.zip
download_ext dataprocessor https://lab.civicrm.org/extensions/dataprocessor/-/archive/1.57/dataprocessor-1.57.zip
download_ext emailapi https://lab.civicrm.org/extensions/emailapi/-/archive/2.9/emailapi-2.9.zip
download_ext action-provider https://lab.civicrm.org/extensions/action-provider/-/archive/1.103/action-1.103.zip
download_ext form-processor https://lab.civicrm.org/extensions/form-processor/-/archive/1.48/form-1.48.zip
download_ext de.systopia.xcm https://github.com/systopia/de.systopia.xcm/releases/download/1.8/de.systopia.xcm-1.8.zip
download_ext group2summary https://github.com/TechToThePeople/group2summary/archive/v1.5.zip
download_ext org.project60.bic https://github.com/Project60/org.project60.bic/releases/download/1.2/org.project60.bic-1.2.zip
# cv ext:download org.project60.sepa
# cv ext:download org.civicrm.contactlayout
# cv ext:download org.civicrm.recentmenu
# cv ext:download org.wikimedia.relationshipblock
# cv ext:download uk.co.vedaconsulting.mosaico
#

View File

@ -42,14 +42,6 @@ wp site switch-language nl_NL
# Install CiviCRM
PLUGIN_DIR=`pwd`/wp-content/plugins
curl -LsS -o /tmp/civi.zip https://download.civicrm.org/civicrm-$version-wordpress.zip
curl -LsS -o /tmp/civi-l10n.tar.gz https://download.civicrm.org/civicrm-$version-l10n.tar.gz
unzip -d $PLUGIN_DIR /tmp/civi.zip
tar -xf /tmp/civi-l10n.tar.gz -C $PLUGIN_DIR/civicrm
rm /tmp/civi.zip
rm /tmp/civi-l10n.tar.gz
# Configure CivCRM
#rm -f -- wp-content/uploads/civicrm/civicrm.settings.php
@ -68,50 +60,28 @@ cv upgrade:db
# Install extensions
cd wp-content/uploads/civicrm/ext
git clone https://code.bij1.org/bij1/crm-bij1migratie.git
git clone https://code.bij1.org/bij1/crm-bij1rules.git
git clone https://code.bij1.org/bij1/crm-bij1algemeen.git
cv ext:enable de.systopia.identitytracker
cv ext:enable org.project60.banking
cv ext:enable civirules
cv ext:enable assignee
cv ext:enable apikey
cv ext:enable dataprocessor
cv ext:enable emailapi
cv ext:enable action-provider
cv ext:enable form-processor
cv ext:download de.systopia.identitytracker@https://github.com/systopia/de.systopia.identitytracker/releases/download/1.3/de.systopia.identitytracker-1.3.zip
cv ext:download org.project60.banking@https://github.com/Project60/org.project60.banking/releases/download/0.7/org.project60.banking-0.7.zip
cv ext:enable de.systopia.xcm
cv ext:enable group2summary
cv ext:enable org.civicrm.contactlayout
cv ext:enable org.civicrm.recentmenu
cv ext:enable org.project60.bic
# cv ext:enable org.project60.sepa
# cv ext:enable org.civicrm.contactlayout
# cv ext:enable org.civicrm.recentmenu
# cv ext:enable org.wikimedia.relationshipblock
# cv ext:enable uk.co.vedaconsulting.mosaico
#
function install_ext {
# work-around for timeout issues on lab.civicrm.org during download
name="$1"
url="$2"
filename=$(basename $url)
dirname=$(basename $url .zip)
curl --output $filename $url
unzip -q $filename
mv $dirname $name
cv ext:enable $name
}
#cv ext:download civirules@https://lab.civicrm.org/extensions/civirules/-/archive/2.43/civirules-2.43.zip
#cv ext:download assignee@https://lab.civicrm.org/extensions/assignee/-/archive/1.3/assignee-1.3.zip
#cv ext:download apikey@https://lab.civicrm.org/extensions/apikey/-/archive/v1.3.5/apikey-v1.3.5.zip
#cv ext:download dataprocessor@https://lab.civicrm.org/extensions/dataprocessor/-/archive/1.57/dataprocessor-1.57.zip
#cv ext:download emailapi@https://lab.civicrm.org/extensions/emailapi/-/archive/2.9/emailapi-2.9.zip
#cv ext:download action-provider@https://lab.civicrm.org/extensions/action-provider/-/archive/1.103/action-1.103.zip
#cv ext:download form-processor@https://lab.civicrm.org/extensions/form-processor/-/archive/1.48/form-1.48.zip
install_ext civirules https://lab.civicrm.org/extensions/civirules/-/archive/2.43/civirules-2.43.zip
install_ext assignee https://lab.civicrm.org/extensions/assignee/-/archive/1.3/assignee-1.3.zip
install_ext apikey https://lab.civicrm.org/extensions/apikey/-/archive/v1.3.5/apikey-v1.3.5.zip
install_ext dataprocessor https://lab.civicrm.org/extensions/dataprocessor/-/archive/1.57/dataprocessor-1.57.zip
install_ext emailapi https://lab.civicrm.org/extensions/emailapi/-/archive/2.9/emailapi-2.9.zip
install_ext action-provider https://lab.civicrm.org/extensions/action-provider/-/archive/1.103/action-1.103.zip
install_ext form-processor https://lab.civicrm.org/extensions/form-processor/-/archive/1.48/form-1.48.zip
cv ext:download de.systopia.xcm@https://github.com/systopia/de.systopia.xcm/releases/download/1.8/de.systopia.xcm-1.8.zip
cv ext:download group2summary@https://github.com/TechToThePeople/group2summary/archive/v1.5.zip
cv ext:download org.civicrm.contactlayout
cv ext:download org.civicrm.recentmenu
cv ext:download org.project60.bic@https://github.com/Project60/org.project60.bic/releases/download/1.2/org.project60.bic-1.2.zip
cv ext:download org.project60.sepa
cv ext:download org.wikimedia.relationshipblock
# cv ext:download uk.co.vedaconsulting.mosaico
cv ext:enable bij1algemeen
cv ext:enable bij1migratie
cv ext:enable bij1rules