Skip to content

Commit f9782db

Browse files
committed
REL-0.1 Initial Release
1 parent c594390 commit f9782db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+5950
-29
lines changed

.gitignore

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
######################################
2+
# CUSTOM
3+
######################################
4+
5+
build/ansible/*.retry
6+
7+
8+
9+
######################################
10+
# GENERIC
11+
######################################
12+
13+
###### std ######
14+
.lock
15+
*.log
16+
17+
###### patches/diffs ######
18+
*.patch
19+
*.diff
20+
*.orig
21+
*.rej
22+
23+
24+
######################################
25+
# Operating Systems
26+
######################################
27+
28+
###### OSX ######
29+
._*
30+
.DS*
31+
.Spotlight-V100
32+
.Trashes
33+
34+
###### Windows ######
35+
Thumbs.db
36+
ehthumbs.db
37+
Desktop.ini
38+
$RECYCLE.BIN/
39+
*.lnk
40+
41+
42+
######################################
43+
# Editors
44+
######################################
45+
46+
###### Sublime ######
47+
*.sublime-workspace
48+
*.sublime-project
49+
50+
###### Eclipse ######
51+
.classpath
52+
.buildpath
53+
.project
54+
.settings/
55+
56+
###### Netbeans ######
57+
nbproject/private/
58+
59+
###### Intellij IDE ######
60+
.idea/
61+
.idea_modules/
62+
63+
###### vim ######
64+
*.swp
65+
*.swo
66+
*~
67+
68+
###### TextMate ######
69+
.tm_properties
70+
*.tmproj
71+
72+
###### BBEdit ######
73+
*.bbprojectd
74+
*.bbproject

.travis.yml

+287-29
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,293 @@
11
---
2+
sudo: required
3+
language: python
4+
services:
5+
- docker
6+
27
env:
8+
global:
9+
- IMAGE: devilbox/php-fpm
10+
# travis encrypt DOCKER_USERNAME=user
11+
# travis encrypt DOCKER_PASSWORD=pass
12+
# Must be regenerated when repository name/owner changes
13+
# DOCKER_USERNAME
14+
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
15+
# DOCKER_PASSWORD
16+
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
317
matrix:
4-
v=5.4
5-
v=5.5
6-
v=5.6
7-
v=7.0
8-
v=7.1
9-
v=7.2
18+
- PHP=5.5
19+
- PHP=5.5
20+
- PHP=5.6
21+
- PHP=7.0
22+
- PHP=7.1
23+
- PHP=7.2
24+
#stages:
25+
# - generate
26+
# - PHP 5.4
27+
# - PHP 5.5
28+
# - PHP 5.6
29+
# - PHP 7.0
30+
# - PHP 7.1
31+
# - PHP 7.2
1032

11-
stages:
12-
- base
13-
- mods
14-
- prod
15-
- work
1633

17-
before_script:
18-
# Regenerate Dockerfiles and make sure nothing has changed (every stage)
19-
- make generate
20-
- git diff-index --quiet HEAD || { echo "Build Changes"; git diff; git status; false; }
34+
# TODO: No need for stages anymore, use simple build matrix and don't repease the code!!
35+
install:
36+
# Get newer docker version
37+
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get update; then break; else i=$((i+1)); fi done
38+
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce; then break; else i=$((i+1)); fi done
39+
- docker version
2140

22-
jobs:
23-
include:
24-
- stage: base
25-
script:
26-
- echo "${v}-base"
27-
- stage: mods
28-
script:
29-
- echo "${v}-mods"
30-
- stage: prod
31-
script:
32-
- echo "${v}-prod"
33-
- stage: work
34-
script:
35-
- echo "${v}-work"
41+
42+
before_script:
43+
# Build (multiple tries due to network outages)
44+
- max=100; i=0; while [ $i -lt $max ]; do if make build-base-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
45+
- max=100; i=0; while [ $i -lt $max ]; do if make build-mods-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
46+
- max=100; i=0; while [ $i -lt $max ]; do if make build-prod-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
47+
- max=100; i=0; while [ $i -lt $max ]; do if make build-work-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
48+
script:
49+
# Test
50+
- true
51+
after_success:
52+
# Push
53+
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
54+
docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" &&
55+
if [ "${TRAVIS_BRANCH}" == "master" ]; then
56+
docker push "${IMAGE}:${PHP}-base";
57+
docker push "${IMAGE}:${PHP}-mods";
58+
docker push "${IMAGE}:${PHP}-prod";
59+
docker push "${IMAGE}:${PHP}-work";
60+
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
61+
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
62+
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
63+
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
64+
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
65+
docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}";
66+
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}";
67+
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
68+
docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
69+
elif [ -n "${TRAVIS_TAG}" ]; then
70+
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
71+
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
72+
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
73+
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
74+
docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}";
75+
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
76+
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
77+
docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
78+
else
79+
echo "Skipping push to dockerhub on normal branches";
80+
fi
81+
else
82+
echo "Skipping push to dockerhub on PR";
83+
fi
84+
#
85+
#
86+
#
87+
#
88+
#
89+
#
90+
#
91+
#
92+
#
93+
#jobs:
94+
# include:
95+
# ############################################################
96+
# # TEST
97+
# ############################################################
98+
# - stage: generate
99+
# env: All
100+
# install: skip
101+
# before_script: skip
102+
# script:
103+
# # Regenerate Dockerfiles and make sure nothing has changed (every stage)
104+
# - pip install ansible
105+
# - make generate
106+
# - git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
107+
# ############################################################
108+
# # BUILD BASE IMAGE
109+
# ############################################################
110+
# - stage: PHP 5.4
111+
# env: PHP=5.4
112+
# before_script:
113+
# # Build (multiple tries due to network outages)
114+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-base-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
115+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-mods-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
116+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-prod-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
117+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-work-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
118+
# script:
119+
# # Test
120+
# - true
121+
# after_success:
122+
# # Push
123+
# - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
124+
# docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" &&
125+
# if [ "${TRAVIS_BRANCH}" == "master" ]; then
126+
# docker push "${IMAGE}:${PHP}-base";
127+
# docker push "${IMAGE}:${PHP}-mods";
128+
# docker push "${IMAGE}:${PHP}-prod";
129+
# docker push "${IMAGE}:${PHP}-work";
130+
# elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
131+
# docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
132+
# docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
133+
# docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
134+
# docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
135+
# docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}";
136+
# docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}";
137+
# docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
138+
# docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
139+
# elif [ -n "${TRAVIS_TAG}" ]; then
140+
# docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
141+
# docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
142+
# docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
143+
# docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
144+
# docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}";
145+
# docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
146+
# docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
147+
# docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
148+
# else
149+
# echo "Skipping push to dockerhub on normal branches";
150+
# fi
151+
# else
152+
# echo "Skipping push to dockerhub on PR";
153+
# fi
154+
# - stage: Build base image
155+
# env: PHP=5.5 t=base
156+
# before_script:
157+
# # Build
158+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi; done
159+
# script:
160+
# # Test
161+
# - result=1; false
162+
# after_success:
163+
# # Push
164+
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
165+
# - docker push "${IMAGE}:${PHP}-${t}";
166+
#
167+
# - stage: Build base image
168+
# env: PHP=5.6 t=base
169+
# script:
170+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
171+
# - if [ $i -gt 98 ]; then false; fi
172+
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
173+
# - docker push "${IMAGE}:${PHP}-${t}"
174+
#
175+
# - stage: Build base image
176+
# env: PHP=7.0 t=base
177+
# script:
178+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
179+
# - if [ $i -gt 98 ]; then false; fi
180+
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
181+
# - docker push "${IMAGE}:${PHP}-${t}"
182+
#
183+
# - stage: Build base image
184+
# env: PHP=7.1 t=base
185+
# script:
186+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
187+
# - if [ $i -gt 98 ]; then false; fi
188+
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
189+
# - docker push "${IMAGE}:${PHP}-${t}"
190+
#
191+
# - stage: Build base image
192+
# env: PHP=7.2 t=base
193+
# script:
194+
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
195+
# - if [ $i -gt 98 ]; then false; fi
196+
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
197+
# - docker push "${IMAGE}:${PHP}-${t}"
198+
# ############################################################
199+
# # BUILD MODS IMAGE
200+
# ############################################################
201+
# - stage: Build mods image
202+
# env: PHP-5.4
203+
# script:
204+
# - make build-mods-54
205+
#
206+
# - stage: Build mods image
207+
# env: PHP-5.5
208+
# script:
209+
# - make build-mods-55
210+
#
211+
# - stage: Build mods image
212+
# env: PHP-5.6
213+
# script:
214+
# - make build-mods-56
215+
#
216+
# - stage: Build mods image
217+
# env: PHP-7.0
218+
# script:
219+
# - make build-mods-70
220+
#
221+
# - stage: Build mods image
222+
# env: PHP-7.1
223+
# script:
224+
# - make build-mods-71
225+
#
226+
# - stage: Build mods image
227+
# env: PHP-7.2
228+
# script:
229+
# - make build-mods-72
230+
# ############################################################
231+
# # BUILD PROD IMAGE
232+
# ############################################################
233+
# - stage: Build prod image
234+
# env: PHP-5.4
235+
# script:
236+
# - make build-prod-5.4
237+
#
238+
# - stage: Build prod image
239+
# env: PHP-5.5
240+
# script:
241+
# - make build-prod-5.5
242+
#
243+
# - stage: Build prod image
244+
# env: PHP-5.6
245+
# script:
246+
# - make build-prod-5.6
247+
#
248+
# - stage: Build prod image
249+
# env: PHP-7.0
250+
# script:
251+
# - make build-prod-7.0
252+
#
253+
# - stage: Build prod image
254+
# env: PHP-7.1
255+
# script:
256+
# - make build-prod-7.1
257+
#
258+
# - stage: Build prod image
259+
# env: PHP-7.2
260+
# script:
261+
# - make build-prod-7.2
262+
# ############################################################
263+
# # BUILD WORK IMAGE
264+
# ############################################################
265+
# - stage: Build work image
266+
# env: PHP-5.4
267+
# script:
268+
# - make build-work-5.4
269+
#
270+
# - stage: Build work image
271+
# env: PHP-5.5
272+
# script:
273+
# - make build-work-5.5
274+
#
275+
# - stage: Build work image
276+
# env: PHP-5.6
277+
# script:
278+
# - make build-work-5.6
279+
#
280+
# - stage: Build work image
281+
# env: PHP-7.0
282+
# script:
283+
# - make build-work-7.0
284+
#
285+
# - stage: Build work image
286+
# env: PHP-7.1
287+
# script:
288+
# - make build-work-7.1
289+
#
290+
# - stage: Build work image
291+
# env: PHP-7.2
292+
# script:
293+
# - make build-work-7.2

0 commit comments

Comments
 (0)