@@ -38,6 +38,7 @@ RUN set -eux \
3838 curl \
3939 dirmngr \
4040 gnupg \
41+ \
4142 && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
4243 && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
4344 && curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
@@ -50,6 +51,7 @@ RUN set -eux \
5051 && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
5152 && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
5253 && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
54+ \
5355 && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
5456 && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
5557 ack-grep \
@@ -125,7 +127,7 @@ RUN set -eux \
125127### Install custom software
126128###
127129RUN set -eux \
128- # pip
130+ # -------------------- pip --------------------
129131 && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
130132&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
131133 libpython-dev \
@@ -134,7 +136,8 @@ RUN set -eux \
134136\
135137&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
136138 \
137- # nvm
139+ \
140+ # -------------------- nvm --------------------
138141 && git clone https://github.com/creationix/nvm /opt/nvm \
139142&& cd /opt/nvm \
140143&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
@@ -151,7 +154,8 @@ RUN set -eux \
151154&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
152155&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
153156 \
154- # awesomeci
157+ \
158+ # -------------------- awesomeci --------------------
155159 && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
156160&& cd /usr/local/src/awesome-ci \
157161&& git checkout $(git describe --abbrev=0 --tags) \
@@ -160,17 +164,20 @@ RUN set -eux \
160164&& cd / \
161165&& rm -rf /usr/local/src/awesome-ci \
162166 \
163- # gitflow
167+ \
168+ # -------------------- gitflow --------------------
164169 && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
165170&& cd /tmp/gitflow \
166171&& make install \
167172&& cd / && rm -rf /tmp/gitflow \
168173 \
169- # linkcheck
174+ \
175+ # -------------------- linkcheck --------------------
170176 && curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
171177&& chmod +x /usr/local/bin/linkcheck \
172178 \
173- # linuxbrew
179+ \
180+ # -------------------- linuxbrew --------------------
174181 && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
175182&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
176183&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
@@ -181,12 +188,14 @@ RUN set -eux \
181188 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
182189&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
183190 \
184- # mhsendmail
191+ \
192+ # -------------------- mhsendmail --------------------
185193 && wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
186194&& chmod +x mhsendmail_linux_amd64 \
187195&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
188196 \
189- # mysqldumpsecure
197+ \
198+ # -------------------- mysqldumpsecure --------------------
190199 && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
191200&& cd /usr/local/src/mysqldump-secure \
192201&& git checkout $(git describe --abbrev=0 --tags) \
@@ -208,15 +217,18 @@ RUN set -eux \
208217&& cd / \
209218&& rm -rf /usr/local/src/mysqldump-secure \
210219 \
211- # phpcs
220+ \
221+ # -------------------- phpcs --------------------
212222 && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
213223&& chmod +x /usr/local/bin/phpcs \
214224 \
215- # phpcbf
225+ \
226+ # -------------------- phpcbf --------------------
216227 && curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
217228&& chmod +x /usr/local/bin/phpcbf \
218229 \
219- # wkhtmltopdf
230+ \
231+ # -------------------- wkhtmltopdf --------------------
220232 && VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
221233 && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
222234&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
@@ -228,7 +240,8 @@ RUN set -eux \
228240 && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
229241&& rm -rf /var/lib/apt/lists/* \
230242 \
231- # cleanup
243+ \
244+ # -------------------- cleanup --------------------
232245 && rm -rf /home/${MY_USER}/.*json \
233246&& rm -rf /home/${MY_USER}/.cache \
234247&& rm -rf /home/${MY_USER}/.composer \
@@ -248,6 +261,7 @@ RUN set -eux \
248261&& rm -rf /tmp/* \
249262&& (rm -rf /tmp/.* || true) \
250263 \
264+ \
251265 \
252266 && (rm -rf /root/.gem || true ) \
253267 && (rm -rf /root/.cache || true) \
@@ -282,31 +296,43 @@ RUN set -eux \
282296### Install npm (Node)
283297###
284298RUN set -eux \
285- # angular_cli
299+ # -------------------- angular_cli --------------------
286300 && su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
287- # eslint
301+ \
302+ # -------------------- eslint --------------------
288303 && su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
289- # grunt
304+ \
305+ # -------------------- grunt --------------------
290306 && su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
291- # grunt_cli
307+ \
308+ # -------------------- grunt_cli --------------------
292309 && su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
293- # gulp
310+ \
311+ # -------------------- gulp --------------------
294312 && su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
295- # jsonlint
313+ \
314+ # -------------------- jsonlint --------------------
296315 && su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
297- # pm2
316+ \
317+ # -------------------- pm2 --------------------
298318 && su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
299- # mdlint
319+ \
320+ # -------------------- mdlint --------------------
300321 && su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
301- # vue_cli
322+ \
323+ # -------------------- vue_cli --------------------
302324 && su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
303- # vue_cli_service_global
325+ \
326+ # -------------------- vue_cli_service_global --------------------
304327 && su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
305- # webpack
328+ \
329+ # -------------------- webpack --------------------
306330 && su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
307- # webpack_cli
331+ \
332+ # -------------------- webpack_cli --------------------
308333 && su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
309334 \
335+ \
310336 && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
311337 \
312338 && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
@@ -323,17 +349,22 @@ RUN set -eux \
323349### Install gem (Ruby)
324350###
325351RUN set -eux \
326- # mixlib_config
352+ # -------------------- mixlib_config --------------------
327353 && gem install mixlib-config -v 2.2.4 \
328- # rb_inotify
354+ \
355+ # -------------------- rb_inotify --------------------
329356 && gem install rb-inotify -v 0.9.10 \
330- # mdl
331- && gem install mdl \
332- # scss_lint
357+ \
358+ # -------------------- mdl --------------------
359+ && gem install mdl -v 0.5.0 \
360+ \
361+ # -------------------- scss_lint --------------------
333362 && gem install scss_lint -v 0.57.1 \
334- # sass
363+ \
364+ # -------------------- sass --------------------
335365 && gem install sass \
336366 \
367+ \
337368 && rm -rf /root/.gem \
338369 && rm -rf /tmp/* \
339370 && (rm -rf /tmp/.* || true) \
@@ -347,13 +378,16 @@ RUN set -eux \
347378### Install pip (Python) packages
348379###
349380RUN set -eux \
350- # ansible
381+ # -------------------- ansible --------------------
351382 && pip install --no-cache-dir --force-reinstall ansible \
352- # yamllint
383+ \
384+ # -------------------- yamllint --------------------
353385 && pip install --no-cache-dir --force-reinstall yamllint \
354- # yq
386+ \
387+ # -------------------- yq --------------------
355388 && pip install --no-cache-dir --force-reinstall yq \
356389 \
390+ \
357391 && rm -rf /root/.cache/pip \
358392 && rm -rf /tmp/* \
359393 && (rm -rf /tmp/.* || true) \
@@ -403,27 +437,25 @@ RUN set -eux \
403437 && rm -f /usr/local/etc/php/php.ini
404438
405439RUN set -eux \
440+ # -------------------- Software --------------------
406441 && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
407- && mdl --version | grep -E '[.0-9]+' \
408- && scss-lint --version | grep -E '[.0-9]+' \
409- && eslint -v | grep -E '[.0-9]+' \
410- && jsonlint --version | grep -E '[.0-9]+' \
411- && mdlint --version | grep -E '[.0-9]+' \
412- && gulp --version | grep -E '[.0-9]+' \
413- \
442+ && regex-grep --version | grep -E '[.0-9]+' \
414443 && git-flow version | grep -E '[.0-9]+' \
415444 && linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
416445 && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
417446 && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
418447 && phpcs --version | grep -E 'version [.0-9]+' \
419448 && phpcbf --version | grep -E 'version [.0-9]+' \
420449 && wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
421- \
422- \
450+ \
451+ # -------------------- Composer --------------------
452+ \
453+ # -------------------- PIP --------------------
423454 && ansible --version | grep -E '^ansible [.0-9]+$' \
424455 && yamllint --version 2>&1 | grep -E '[.0-9]+' \
425456 && yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
426- \
457+ \
458+ # -------------------- NPM --------------------
427459 && ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
428460 && eslint -v | grep -E '[.0-9]+' \
429461 && grunt --version | grep -E '[.0-9]+' \
@@ -433,10 +465,12 @@ RUN set -eux \
433465 && mdlint --version | grep -E '[.0-9]+' \
434466 && vue --version | grep -E '[.0-9]+' \
435467 && webpack --version | grep -E '[.0-9]+' \
436- \
468+ \
469+ # -------------------- GEM --------------------
437470 && mdl --version | grep -E '[.0-9]+' \
438471 && sass --version | grep -E '[.0-9]+' \
439- \
472+ \
473+ # -------------------- Cleanup --------------------
440474 && rm -rf /home/devilbox/.config/ \
441475 && rm -rf /root/.ansible \
442476 && rm -rf /root/.console \
0 commit comments