Skip to content
This repository was archived by the owner on Nov 16, 2020. It is now read-only.

Commit adf9d5d

Browse files
committed
Removed PHP-5 from Docker environments + Upgraded CI to Docker file format v3 (but still declaring it as v2, as Travis doesn't support v3).
1 parent ca89ee3 commit adf9d5d

10 files changed

Lines changed: 63 additions & 351 deletions

File tree

.travis.yml

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -13,38 +13,17 @@ language: php
1313
matrix:
1414
fast_finish: true
1515
include:
16-
- php: '7'
17-
env:
18-
- PHP_VERSION=7
16+
- env:
1917
- DB_CONNECTION=mysql
2018
- DB_HOST=mariadb
2119
- DB_USERNAME=root
22-
- php: '7'
23-
env:
24-
- PHP_VERSION=7
20+
- env:
2521
- DB_CONNECTION=pgsql
2622
- DB_HOST=postgres
2723
- DB_USERNAME=postgres
28-
- php: '5.6'
29-
env:
30-
- PHP_VERSION=5
31-
- DB_CONNECTION=mysql
32-
- DB_HOST=mariadb
33-
- DB_USERNAME=root
34-
- php: '5.6'
35-
env:
36-
- PHP_VERSION=5
37-
- DB_CONNECTION=pgsql
38-
- DB_HOST=postgres
39-
- DB_USERNAME=postgres
40-
41-
cache:
42-
directories:
43-
- ./node_modules
44-
- ./vendor
4524

4625
before_install:
47-
- curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > docker-compose; chmod +x docker-compose; true
26+
- curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > docker-compose; chmod +x docker-compose; true
4827
- sudo mv docker-compose /usr/local/bin/
4928
- pwd && docker -v && docker info && docker-compose -v
5029

@@ -56,19 +35,15 @@ install:
5635
# - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, PR=$PR, BRANCH=$BRANCH"
5736

5837
- if [[ $TRAVIS_TAG == 'docker-build' ]]; then docker build -qf storage/build/scripts/nginx/Dockerfile -t audithsoftworks/basis:nginx .; else docker pull audithsoftworks/basis:nginx; fi;
59-
- if [[ $TRAVIS_TAG == 'docker-build' && $PHP_VERSION == '5' ]]; then docker build -qf storage/build/scripts/php_5.6/Dockerfile -t audithsoftworks/basis:php_5.6 .; fi;
60-
if [[ $TRAVIS_TAG == 'docker-build' && $PHP_VERSION == '7' ]]; then docker build -qf storage/build/scripts/php_7/Dockerfile -t audithsoftworks/basis:php_7 .; fi;
61-
- if [[ $TRAVIS_TAG == 'docker-build' && $PHP_VERSION == '5' ]]; then docker build -qf storage/build/scripts/php_5.6-fpm/Dockerfile -t audithsoftworks/basis:php_5.6-fpm .; fi;
62-
if [[ $TRAVIS_TAG == 'docker-build' && $PHP_VERSION == '7' ]]; then docker build -qf storage/build/scripts/php_7-fpm/Dockerfile -t audithsoftworks/basis:php_7-fpm .; fi;
63-
- if [[ $TRAVIS_TAG != 'docker-build' && $PHP_VERSION == '5' ]]; then docker pull audithsoftworks/basis:php_5.6; fi;
64-
if [[ $TRAVIS_TAG != 'docker-build' && $PHP_VERSION == '7' ]]; then docker pull audithsoftworks/basis:php_7; fi;
65-
- if [[ $TRAVIS_TAG != 'docker-build' && $PHP_VERSION == '5' ]]; then docker pull audithsoftworks/basis:php_5.6-fpm; fi;
66-
if [[ $TRAVIS_TAG != 'docker-build' && $PHP_VERSION == '7' ]]; then docker pull audithsoftworks/basis:php_7-fpm; fi;
67-
- docker-compose up -d php${PHP_VERSION}-cli;
38+
- if [[ $TRAVIS_TAG == 'docker-build' ]]; then docker build -qf storage/build/scripts/php/Dockerfile -t audithsoftworks/basis:php .; fi;
39+
- if [[ $TRAVIS_TAG == 'docker-build' ]]; then docker build -qf storage/build/scripts/php-fpm/Dockerfile -t audithsoftworks/basis:php-fpm .; fi;
40+
- if [[ $TRAVIS_TAG != 'docker-build' ]]; then docker pull audithsoftworks/basis:php; fi;
41+
- if [[ $TRAVIS_TAG != 'docker-build' ]]; then docker pull audithsoftworks/basis:php-fpm; fi;
42+
- docker-compose up -d;
6843
- docker images;
6944
- docker-compose ps;
70-
- echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' basis_nginxForPhp${PHP_VERSION}_1) basis.audith.org | sudo tee -a /etc/hosts;
71-
- docker exec basis_php${PHP_VERSION}-cli_1 /bin/bash -c "echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' basis_nginxForPhp${PHP_VERSION}_1) basis.audith.org | sudo tee -a /etc/hosts";
45+
- echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx) basis.audith.org | sudo tee -a /etc/hosts;
46+
- docker exec dev-env /bin/bash -c "echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx) basis.audith.org | sudo tee -a /etc/hosts";
7247

7348
before_script:
7449
- chmod +x ./storage/build/scripts/ci/build.sh;
@@ -77,7 +52,7 @@ script:
7752
- ./storage/build/scripts/ci/build.sh;
7853

7954
after_script:
80-
- docker exec basis_php${PHP_VERSION}-cli_1 /bin/bash -c "pkill sc";
55+
- docker exec dev-env /bin/bash -c "pkill sc";
8156
- if [[ $PHP_VERSION == 7 && $DB_CONNECTION == 'mysql' ]]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover ./storage/coverage/coverage-clover-merged.xml; fi
8257

8358
notifications:

docker-compose.yml

Lines changed: 22 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,100 +2,63 @@ version: '2'
22

33
services:
44
mariadb:
5+
container_name: mariadb
56
image: mariadb:10.1
67
environment:
78
MYSQL_DATABASE: "basis"
89
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
910
postgres:
11+
container_name: postgres
1012
image: postgres:latest
1113
environment:
1214
POSTGRES_DB: "basis"
1315
POSTGRES_PASSWORD: ""
1416
redis:
17+
container_name: redis
1518
image: redis
16-
php5-fpm:
19+
php-fpm:
20+
container_name: php-fpm
1721
build:
18-
context: ./storage/build/scripts/php_5.6-fpm
19-
image: audithsoftworks/basis:php_5.6-fpm
22+
context: ./storage/build/scripts/php-fpm
23+
image: audithsoftworks/basis:php-fpm
2024
volumes:
21-
- .:/home/basis
22-
working_dir: /home/basis
25+
- .:/var/www
26+
working_dir: /var/www
2327
links:
2428
- mariadb
2529
- postgres
2630
- redis
2731
environment:
2832
XDEBUG_CONFIG: "remote_host=172.17.0.1"
2933
REDIS_PORT: 6379
30-
php7-fpm:
31-
build:
32-
context: ./storage/build/scripts/php_7-fpm
33-
image: audithsoftworks/basis:php_7-fpm
34-
volumes:
35-
- .:/home/basis
36-
working_dir: /home/basis
37-
links:
38-
- mariadb
39-
- postgres
40-
- redis
41-
environment:
42-
XDEBUG_CONFIG: "remote_host=172.17.0.1"
43-
REDIS_PORT: 6379
44-
nginxForPhp5:
34+
nginx:
35+
container_name: nginx
4536
build:
4637
context: ./storage/build/scripts/nginx
4738
image: audithsoftworks/basis:nginx
4839
volumes:
4940
- ./storage/build/configs/nginx.conf:/etc/nginx/conf.d/default.conf:ro
50-
- .:/home/basis
51-
working_dir: /home/basis
41+
- .:/var/www
42+
working_dir: /var/www
5243
links:
53-
- php5-fpm:phpFpm
54-
nginxForPhp7:
55-
build:
56-
context: ./storage/build/scripts/nginx
57-
image: audithsoftworks/basis:nginx
58-
volumes:
59-
- ./storage/build/configs/nginx.conf:/etc/nginx/conf.d/default.conf:ro
60-
- .:/home/basis
61-
working_dir: /home/basis
62-
links:
63-
- php7-fpm:phpFpm
64-
php5-cli:
65-
build:
66-
context: ./storage/build/scripts/php_5.6
67-
image: audithsoftworks/basis:php_5.6
68-
volumes:
69-
- .:/home/basis
70-
- ./storage/build/configs/crontabs:/var/spool/cron/crontabs
71-
working_dir: /home/basis
72-
links:
73-
- mariadb
74-
- postgres
75-
- redis
76-
- nginxForPhp5:nginx
77-
environment:
78-
XDEBUG_CONFIG: "remote_host=172.18.0.1"
79-
REDIS_PORT: 6379
80-
WORKDIR: "/home/basis"
81-
stdin_open: true
82-
tty: true
83-
php7-cli:
44+
- php-fpm:phpFpm
45+
dev-env:
46+
container_name: dev-env
8447
build:
85-
context: ./storage/build/scripts/php_7
86-
image: audithsoftworks/basis:php_7
48+
context: ./storage/build/scripts/php
49+
image: audithsoftworks/basis:php
8750
volumes:
88-
- .:/home/basis
51+
- .:/var/www
8952
- ./storage/build/configs/crontabs:/var/spool/cron/crontabs
90-
working_dir: /home/basis
53+
working_dir: /var/www
9154
links:
9255
- mariadb
9356
- postgres
9457
- redis
95-
- nginxForPhp7:nginx
58+
- nginx
9659
environment:
9760
XDEBUG_CONFIG: "remote_host=172.18.0.1"
9861
REDIS_PORT: 6379
99-
WORKDIR: "/home/basis"
62+
WORKDIR: "/var/www"
10063
stdin_open: true
10164
tty: true
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* * * * * php /home/basis/artisan schedule:run >> /dev/null 2>&1
1+
* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1

storage/build/configs/nginx.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ server
33
listen 80;
44
server_name basis.audith.org;
55
server_tokens off;
6-
root /home/basis/public;
6+
root /var/www/public;
77
merge_slashes on;
88
msie_padding on;
99
client_max_body_size 64M;
1010
index index.php;
11-
error_log /home/basis/storage/logs/nginx-error.log;
12-
access_log /home/basis/storage/logs/nginx-access.log;
11+
error_log /var/www/storage/logs/nginx-error.log;
12+
access_log /var/www/storage/logs/nginx-access.log;
1313

1414
location /
1515
{

storage/build/scripts/ci/build.sh

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,22 @@ test -f .env || sed \
88
-e "s/SAUCE_ACCESS_KEY=.*/SAUCE_ACCESS_KEY=${SAUCE_ACCESS_KEY}/g" .env.example \
99
| tee .env > /dev/null 2>&1;
1010

11-
docker exec basis_php${PHP_VERSION}-cli_1 /bin/bash -c "
11+
docker-compose exec --privileged dev-env /bin/bash -c "
1212
export NPM_CONFIG_LOGLEVEL=warn;
1313
export SAUCE_BUILD=audithsoftworks-basis-travis-job-${TRAVIS_JOB_NUMBER};
1414
export SAUCE_USERNAME=${SAUCE_USERNAME};
1515
export SAUCE_ACCESS_KEY=${SAUCE_ACCESS_KEY};
1616
17+
sudo mkdir -p ~;
18+
sudo chown -R basis:basis ~;
19+
1720
daemon -U --respawn -- phantomjs --webdriver=25852 --webdriver-logfile=\$WORKDIR/storage/logs/phantomjs.log --webdriver-loglevel=DEBUG;
18-
if [[ ${PHP_VERSION} == 7 && ${DB_CONNECTION} == 'mysql' ]]; then
19-
wget -P ./storage/build/tools https://saucelabs.com/downloads/sc-4.4.5-linux.tar.gz;
20-
tar -C ./storage/build/tools -xzf ./storage/build/tools/sc-4.4.5-linux.tar.gz;
21-
rm ./storage/build/tools/sc-4.4.5-linux.tar.gz;
21+
if [[ ${DB_CONNECTION} == 'mysql' ]]; then
22+
wget -P ./storage/build/tools https://saucelabs.com/downloads/sc-4.4.9-linux.tar.gz;
23+
tar -C ./storage/build/tools -xzf ./storage/build/tools/sc-4.4.9-linux.tar.gz;
24+
rm ./storage/build/tools/sc-4.4.9-linux.tar.gz;
2225
23-
daemon -U -- /home/basis/storage/build/tools/sc-4.4.5-linux/bin/sc --tunnel-domains=basis.audith.org;
26+
daemon -U --respawn -- /var/www/storage/build/tools/sc-4.4.9-linux/bin/sc --tunnel-domains=basis.audith.org;
2427
fi;
2528
2629
crontab -l;
@@ -29,7 +32,7 @@ docker exec basis_php${PHP_VERSION}-cli_1 /bin/bash -c "
2932
cd \$WORKDIR;
3033
if [[ ! -d ./storage/build/tools/woff2 ]]; then
3134
git clone --depth=1 https://github.com/google/woff2.git ./storage/build/tools/woff2;
32-
cd /home/basis/storage/build/tools/woff2 && git submodule init && git submodule update && make clean all;
35+
cd /var/www/storage/build/tools/woff2 && git submodule init && git submodule update && make clean all;
3336
fi;
3437
3538
cd \$WORKDIR;
@@ -55,7 +58,7 @@ docker exec basis_php${PHP_VERSION}-cli_1 /bin/bash -c "
5558
if [[ ! -d ./public/fonts/pontano_sans ]]; then cp -r ./node_modules/.google-fonts/ofl/pontanosans ./public/fonts/pontano_sans; fi;
5659
if [[ ! -d ./public/fonts/montserrat ]]; then cp -r ./node_modules/.google-fonts/ofl/montserrat ./public/fonts/montserrat; fi;
5760
58-
chmod -R +x /home/basis/storage/build/tools;
61+
chmod -R +x /var/www/storage/build/tools;
5962
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/simple-line-icons/stylesheet.css public/fonts/simple-line-icons/*.ttf;
6063
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/opensans/stylesheet.css public/fonts/opensans/*.ttf;
6164
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/montserrat/stylesheet.css public/fonts/montserrat/*.ttf;

storage/build/scripts/dev-env/build.sh

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,14 @@
66
#docker build -f storage/build/scripts/php_7/Dockerfile -t audithsoftworks/basis:php_7 .;
77
#docker build -f storage/build/scripts/php_7-fpm/Dockerfile -t audithsoftworks/basis:php_7-fpm .;
88

9-
if [[ -z ${COMPOSE_PROJECT_NAME+x} ]]; then
10-
export COMPOSE_PROJECT_NAME=basis_;
11-
fi;
12-
139
docker-compose build
1410
#docker-compose pull;
1511

16-
if [ -z ${PHP_VERSION+x} ]; then export PHP_VERSION='7'; fi; # 5|7
17-
1812
docker-compose down;
19-
docker-compose up -d php${PHP_VERSION}-cli;
13+
docker-compose up -d;
2014
docker-compose ps;
21-
docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 \
22-
/bin/bash -c "echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PROJECT_NAME}nginxForPhp${PHP_VERSION}_1) basis.audith.org | sudo tee -a /etc/hosts";
15+
docker exec dev-env \
16+
/bin/bash -c "echo $(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx) basis.audith.org | sudo tee -a /etc/hosts";
2317

2418
test -f .env || cat .env.example | tee .env > /dev/null 2>&1;
2519

@@ -28,7 +22,9 @@ test -f .env || cat .env.example | tee .env > /dev/null 2>&1;
2822
# and SAUCE_ACCESS_KEY env variables to the environment for which the next 'docker exec' is being run.
2923
###############################################################################################################
3024

31-
docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
25+
docker-compose exec dev-env bash -c "
26+
sudo mkdir -p ~;
27+
sudo chown -R basis:basis ~;
3228
if [ ! -f ~/.bash_profile ]; then touch ~/.bash_profile; fi;
3329
if [ ! \$(cat ~/.bash_profile | grep SAUCE_) ]; then
3430
echo 'export SAUCE_USERNAME=\"$SAUCE_USERNAME\"' | sudo tee -a ~/.bash_profile;
@@ -38,11 +34,11 @@ docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
3834
3935
daemon -U --respawn -- phantomjs --webdriver=25852 --webdriver-logfile=\$WORKDIR/storage/logs/phantomjs.log --webdriver-loglevel=DEBUG;
4036
if [ ! -z ${SAUCE_ACCESS_KEY+x} ]; then
41-
wget -P ./storage/build/tools https://saucelabs.com/downloads/sc-4.4.5-linux.tar.gz;
42-
tar -C ./storage/build/tools -xzf ./storage/build/tools/sc-4.4.5-linux.tar.gz;
43-
rm ./storage/build/tools/sc-4.4.5-linux.tar.gz;
37+
wget -P ./storage/build/tools https://saucelabs.com/downloads/sc-4.4.9-linux.tar.gz;
38+
tar -C ./storage/build/tools -xzf ./storage/build/tools/sc-4.4.9-linux.tar.gz;
39+
rm ./storage/build/tools/sc-4.4.9-linux.tar.gz;
4440
45-
daemon -U --respawn -- /home/basis/storage/build/tools/sc-4.4.5-linux/bin/sc --tunnel-domains=basis.audith.org;
41+
daemon -U --respawn -- /var/www/storage/build/tools/sc-4.4.9-linux/bin/sc --tunnel-domains=basis.audith.org;
4642
fi;
4743
4844
crontab -l;
@@ -51,7 +47,7 @@ docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
5147
cd \$WORKDIR;
5248
if [[ ! -d ./storage/build/tools/woff2 ]]; then
5349
git clone --depth=1 https://github.com/google/woff2.git ./storage/build/tools/woff2;
54-
cd /home/basis/storage/build/tools/woff2 && git submodule init && git submodule update && make clean all;
50+
cd /var/www/storage/build/tools/woff2 && git submodule init && git submodule update && make clean all;
5551
fi;
5652
5753
cd \$WORKDIR;
@@ -64,7 +60,6 @@ docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
6460
cd ./node_modules/.google-fonts && git pull origin master;
6561
else
6662
git clone --depth=1 https://github.com/google/fonts.git ./node_modules/.google-fonts;
67-
rm -rf ./node_modules/.google-fonts/.git
6863
fi;
6964
7065
cd \$WORKDIR;
@@ -77,7 +72,7 @@ docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
7772
if [[ ! -d ./public/fonts/pontano_sans ]]; then cp -r ./node_modules/.google-fonts/ofl/pontanosans ./public/fonts/pontano_sans; fi;
7873
if [[ ! -d ./public/fonts/montserrat ]]; then cp -r ./node_modules/.google-fonts/ofl/montserrat ./public/fonts/montserrat; fi;
7974
80-
chmod -R +x /home/basis/storage/build/tools;
75+
chmod -R +x /var/www/storage/build/tools;
8176
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/simple-line-icons/stylesheet.css public/fonts/simple-line-icons/*.ttf;
8277
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/opensans/stylesheet.css public/fonts/opensans/*.ttf;
8378
./storage/build/tools/css3_font_converter/convertFonts.sh --use-font-weight --output=public/fonts/montserrat/stylesheet.css public/fonts/montserrat/*.ttf;
@@ -106,7 +101,3 @@ docker exec ${COMPOSE_PROJECT_NAME}php${PHP_VERSION}-cli_1 bash -c "
106101

107102
#stty cols 239 rows 61;
108103
#docker-compose down;
109-
#docker container prune;
110-
#docker network prune;
111-
#docker volume prune;
112-
#docker image prune;
File renamed without changes.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM php:7
22
MAINTAINER Shahriyar Imanov <shehi@imanov.me>
33

4-
WORKDIR /home/basis
4+
WORKDIR /var/www
55

66
ENV DEBIAN_FRONTEND noninteractive
77

@@ -107,7 +107,7 @@ RUN set -ex \
107107
done
108108

109109
ENV NPM_CONFIG_LOGLEVEL info
110-
ENV NODE_VERSION 6.11.3
110+
ENV NODE_VERSION 6.11.4
111111
ENV NPM_VERSION 4
112112

113113
RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \
@@ -145,4 +145,4 @@ RUN sed -i -e "s/%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g" /etc/sudoers
145145

146146
# Add Web-font related tools to PATH
147147
USER basis
148-
ENV PATH $PATH:/home/basis/storage/build/tools/sfnt2woff:/home/basis/storage/build/tools/woff2
148+
ENV PATH $PATH:/var/www/storage/build/tools/sfnt2woff:/var/www/storage/build/tools/woff2

0 commit comments

Comments
 (0)