diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index d3d1623..8f4778c 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -120,6 +124,12 @@ RUN set -x \ && rm -rf /usr/local/src/drush/misc \ && rm -rf /usr/local/src/drush/tests \ \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -248,6 +258,7 @@ RUN set -x \ && gulp --version | grep -E '[.0-9]+' \ \ && drush --version | grep -E '[.0-9]+' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index 802b790..5d16270 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -123,6 +127,12 @@ RUN set -x \ # drupalconsole && curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -252,6 +262,7 @@ RUN set -x \ \ && drush --version | grep -E '[.0-9]+' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index b7fedf9..6e3b420 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -123,6 +127,12 @@ RUN set -x \ # drupalconsole && curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -252,6 +262,7 @@ RUN set -x \ \ && drush --version | grep -E '[.0-9]+' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 6876ea7..f23dc6b 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -123,6 +127,12 @@ RUN set -x \ # drupalconsole && curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -252,6 +262,7 @@ RUN set -x \ \ && drush --version | grep -E '[.0-9]+' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index c8dcc7a..a6675a7 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -123,6 +127,12 @@ RUN set -x \ # drupalconsole && curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -252,6 +262,7 @@ RUN set -x \ \ && drush --version | grep -E '[.0-9]+' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index 06656fb..f699f32 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -37,6 +37,8 @@ RUN set -x \ && echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/node.list \ && curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ack-grep \ @@ -52,6 +54,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -82,6 +85,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* @@ -123,6 +127,12 @@ RUN set -x \ # drupalconsole && curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \ +# gitflow + && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ +&& cd /tmp/gitflow \ +&& make install \ +&& cd / && rm -rf /tmp/gitflow \ + \ # grunt && npm install -g grunt grunt-cli \ # laravel @@ -252,6 +262,7 @@ RUN set -x \ \ && drush --version | grep -E '[.0-9]+' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ + && git-flow version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ diff --git a/Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh b/Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh index 05c96f2..71cb805 100755 --- a/Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh +++ b/Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh @@ -1,14 +1,8 @@ -#!/bin/sh -# -# Available global variables: -# + MY_USER -# + MY_GROUP -# + DEBUG_LEVEL - +#!/usr/bin/env bash set -e set -u - +set -o pipefail ############################################################ @@ -19,65 +13,54 @@ set -u ### Setup Postfix for catch-all ### fix_mds_permissions() { - mds_cfg=/etc/mysqldump-secure.conf - mds_cnf=/etc/mysqldump-secure.cnf - mds_log=/var/log/mysqldump-secure.log - mds_dir=/shared/backups/mysql + local debug="${1}" + local mds_cfg=/etc/mysqldump-secure.conf + local mds_cnf=/etc/mysqldump-secure.cnf + local mds_log=/var/log/mysqldump-secure.log + local mds_dir=/shared/backups/mysql if [ ! -d "${mds_dir}" ]; then - run "mkdir -p ${mds_dir}" + run "mkdir -p ${mds_dir}" "${debug}" fi - run "chown ${MY_USER}:${MY_GROUP} ${mds_cfg}" - run "chown ${MY_USER}:${MY_GROUP} ${mds_cnf}" - run "chown ${MY_USER}:${MY_GROUP} ${mds_log}" - run "chown ${MY_USER}:${MY_GROUP} ${mds_dir}" - - unset -v mds_cfg - unset -v mds_cnf - unset -v mds_log - unset -v mds_dir + run "chown ${MY_USER}:${MY_GROUP} ${mds_cfg}" "${debug}" + run "chown ${MY_USER}:${MY_GROUP} ${mds_cnf}" "${debug}" + run "chown ${MY_USER}:${MY_GROUP} ${mds_log}" "${debug}" + run "chown ${MY_USER}:${MY_GROUP} ${mds_dir}" "${debug}" } set_mds_settings() { - mds_user_var="${1}" - mds_pass_var="${2}" - mds_host_var="${3}" + local mds_user_var="${1}" + local mds_pass_var="${2}" + local mds_host_var="${3}" + local debug="${4}" - mds_cnf=/etc/mysqldump-secure.cnf + local mds_cnf=/etc/mysqldump-secure.cnf # MySQL user if ! env_set "${mds_user_var}"; then - log "info" "\$${mds_user_var} not set for mysqldump-secure. Keeping default user." + log "info" "\$${mds_user_var} not set for mysqldump-secure. Keeping default user." "${debug}" else mds_user_val="$( env_get "${mds_user_var}" )" - log "info" "\$${mds_user_var} set for mysqldump-secure. Changing to '${mds_user_val}'" - run "sed -i'' 's/^user.*/user = ${mds_user_val}/g' ${mds_cnf}" + log "info" "\$${mds_user_var} set for mysqldump-secure. Changing to '${mds_user_val}'" "${debug}" + run "sed -i'' 's/^user.*/user = ${mds_user_val}/g' ${mds_cnf}" "${debug}" fi # MySQL pass if ! env_set "${mds_pass_var}"; then - log "info" "\$${mds_pass_var} not set for mysqldump-secure. Keeping default password." + log "info" "\$${mds_pass_var} not set for mysqldump-secure. Keeping default password." "${debug}" else mds_pass_val="$( env_get "${mds_pass_var}" )" - log "info" "\$${mds_pass_var} set for mysqldump-secure. Changing to '******'" - run "sed -i'' 's/^password.*/password = ${mds_pass_val}/g' ${mds_cnf}" + log "info" "\$${mds_pass_var} set for mysqldump-secure. Changing to '******'" "${debug}" + run "sed -i'' 's/^password.*/password = ${mds_pass_val}/g' ${mds_cnf}" "${debug}" fi # MySQL host if ! env_set "${mds_host_var}"; then - log "info" "\$${mds_host_var} not set for mysqldump-secure. Keeping default host." + log "info" "\$${mds_host_var} not set for mysqldump-secure. Keeping default host." "${debug}" else mds_host_val="$( env_get "${mds_host_var}" )" - log "info" "\$${mds_host_var} set for mysqldump-secure. Changing to '${mds_host_val}'" - run "sed -i'' 's/^host.*/host = ${mds_host_val}/g' ${mds_cnf}" + log "info" "\$${mds_host_var} set for mysqldump-secure. Changing to '${mds_host_val}'" "${debug}" + run "sed -i'' 's/^host.*/host = ${mds_host_val}/g' ${mds_cnf}" "${debug}" fi - - unset -v mds_user_var - unset -v mds_pass_var - unset -v mds_host_var - unset -v mds_user_val - unset -v mds_pass_val - unset -v mds_host_val - unset -v mds_cnf } diff --git a/Dockerfiles/work/data/docker-entrypoint.sh b/Dockerfiles/work/data/docker-entrypoint.sh index d286146..01bba0f 100755 --- a/Dockerfiles/work/data/docker-entrypoint.sh +++ b/Dockerfiles/work/data/docker-entrypoint.sh @@ -134,8 +134,8 @@ copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" ### ### mysqldump-secure ### -fix_mds_permissions -set_mds_settings "MYSQL_BACKUP_USER" "MYSQL_BACKUP_PASS" "MYSQL_BACKUP_HOST" +fix_mds_permissions "${DEBUG_LEVEL}" +set_mds_settings "MYSQL_BACKUP_USER" "MYSQL_BACKUP_PASS" "MYSQL_BACKUP_HOST" "${DEBUG_LEVEL}" ### diff --git a/build/ansible/DOCKERFILES/Dockerfile-work.j2 b/build/ansible/DOCKERFILES/Dockerfile-work.j2 index e787c13..a600362 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-work.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-work.j2 @@ -69,6 +69,7 @@ RUN set -x \ file \ gcc \ git \ + git-flow \ git-svn \ hostname \ htop \ @@ -99,6 +100,7 @@ RUN set -x \ wget \ whois \ xz-utils \ + yarn \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \ && rm -rf /var/lib/apt/lists/* diff --git a/build/ansible/group_vars/all.yml b/build/ansible/group_vars/all.yml index 1d45259..cd9a6bf 100644 --- a/build/ansible/group_vars/all.yml +++ b/build/ansible/group_vars/all.yml @@ -42,6 +42,7 @@ apt_repositories_enabled: - mongo - node - pgsql + - yarn ### @@ -54,6 +55,7 @@ software_enabled: - awesomeci - drush - drupalconsole + - gitflow - grunt - laravel - linuxbrew @@ -84,31 +86,31 @@ apt_repositories_available: all: deb: deb http://ftp.debian.org/debian jessie-backports main git: - disabled: [] 7.2: deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main all: deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main key: A1715D88E1DF1F24 mongo: - #disabled: [7.2] all: deb: deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main key: 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 node: - disabled: [] 7.2: deb: deb http://deb.nodesource.com/node_8.x stretch main all: deb: deb http://deb.nodesource.com/node_8.x jessie main pre: curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - pgsql: - #disabled: [7.2] 7.2: deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main all: deb: deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main pre: curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - + yarn: + all: + deb: deb http://dl.yarnpkg.com/debian/ stable main + pre: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - ### @@ -187,6 +189,14 @@ software_available: all: command: curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal post: chmod +x /usr/local/bin/drupal + gitflow: + check: git-flow version | grep -E '[.0-9]+' + all: + command: | + git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && cd /tmp/gitflow \ + && make install \ + && cd / && rm -rf /tmp/gitflow \ grunt: check: grunt --version | grep -E '[.0-9]+' all: