Compare commits

..

2 commits

Author SHA1 Message Date
3e4e0c8358 Improve the installation procedure 2019-04-10 12:41:33 +02:00
dd6559a4aa Adjust the directory structure 2019-04-10 12:39:55 +02:00
25 changed files with 64 additions and 26 deletions

9
.docker/nuth.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/bash
until nc -z db 3306
do
>&2 echo "mysql is unavailable - waiting"
sleep 1
done
sudo -u www-data ../app/scripts/install.sh
apache2-foreground

View file

@ -11,7 +11,7 @@ LICENSE
.vscode .vscode
# SilverStripe auto-generated content # SilverStripe auto-generated content
Website/silverstripe-cache/ /silverstripe-cache/
Website/vendor/ /vendor/
Website/resources/ /resources/
Website/public/resources/ /public/resources/

7
.gitignore vendored
View file

@ -4,3 +4,10 @@ composer.phar
# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control # Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file # You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
# composer.lock # composer.lock
# SvilerStripe files
/silverstripe-cache/
/vendor/
/themes/simple/
/resources/
/public/resources/

4
.vscode/tasks.json vendored
View file

@ -4,10 +4,10 @@
"version": "2.0.0", "version": "2.0.0",
"tasks": [ "tasks": [
{ {
"label": "Lint Website", "label": "Lint PHP-Code",
"type": "shell", "type": "shell",
"options": { "options": {
"cwd": "${workspaceFolder}/Website" "cwd": "${workspaceFolder}"
}, },
"command": "composer", "command": "composer",
"args": [ "args": [

View file

@ -1,4 +1,5 @@
FROM php:7.1.27-apache FROM php:7.2.17-apache
COPY .docker/nuth.sh /usr/local/bin/nuth-start
RUN chown -R www-data:www-data /var/www RUN chown -R www-data:www-data /var/www
RUN apt update -y RUN apt update -y
@ -8,6 +9,8 @@ RUN apt install --no-install-recommends -y \
libtidy-dev \ libtidy-dev \
libzip-dev \ libzip-dev \
mysql-client \ mysql-client \
netcat \
rsync \
sudo \ sudo \
unzip \ unzip \
zip zip
@ -33,13 +36,16 @@ RUN docker-php-ext-enable \
ADD https://getcomposer.org/installer composer-setup.php ADD https://getcomposer.org/installer composer-setup.php
RUN php composer-setup.php RUN php composer-setup.php
RUN mv composer.phar /usr/local/bin/composer RUN mv composer.phar /usr/local/bin/composer
COPY --chown=www-data:www-data ./Website/composer.* ./ COPY --chown=www-data:www-data ./composer.* ./
RUN sudo -u www-data mkdir public RUN sudo -u www-data mkdir public
RUN sudo -u www-data composer install RUN sudo -u www-data composer install
RUN ./vendor/bin/sake installsake
COPY --chown=www-data:www-data .docker/.env .env
COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/
COPY .docker/date.ini $PHP_INI_DIR/conf.d/ COPY .docker/date.ini $PHP_INI_DIR/conf.d/
COPY --chown=www-data:www-data ./Website/ ./
COPY --chown=www-data:www-data .docker/.env .env
COPY --chown=www-data:www-data ./ ../app
RUN sudo -u www-data composer vendor-expose RUN sudo -u www-data composer vendor-expose
CMD [ "nuth-start" ]

6
Website/.gitignore vendored
View file

@ -1,6 +0,0 @@
/silverstripe-cache/
/.env
/vendor/
/themes/simple/
/resources/
/public/resources/

View file

@ -11,6 +11,8 @@ services:
- nuth - nuth
ports: ports:
- 8000:80 - 8000:80
depends_on:
- db
db: db:
image: mysql:5 image: mysql:5
networks: networks:

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -1,20 +1,40 @@
#!/bin/bash #!/bin/bash
cd $(dirname $0) destinationDir=$(pwd)
cd ..
tempDir=$(mktemp -d) tempDir=$(mktemp -d)
sourceDir="." sourceDir="."
find $sourceDir \ cd $(dirname $0)
cd ..
rsync -a --delete $sourceDir/ $tempDir
# Cleaning up the built website
find $tempDir \
-mindepth 1 -and \
-name "*" -and \ -name "*" -and \
-not \( \ -not \( \
\( \ \( \
-path "Website" -path "$tempDir/app" -or \
-path "$tempDir/public" -or \
-path "$tempDir/themes" \
\) \ \) \
-prune \ -prune \
\) -and \ \) -and \
-not -name ".env" \ -not -name ".htaccess" -and \
-print -not -name "composer.*" \
-exec rm -rf {} +
rsync -a --delete $sourceDir $tempDir # Cleaning up the destination directory
rsync -a --delete $tempDir/ . find $destinationDir \
rm -rf $tempDir -mindepth 1 -and \
-name "*" -and \
-not -name ".env" \
-exec rm -rf {} +
# Copying the built website to the destination
rsync -a $tempDir/ $destinationDir
# Installing the website
cd $destinationDir
composer install
./vendor/bin/sake dev/build