Loading .gitlab-ci.yml +36 −46 Original line number Diff line number Diff line Loading @@ -18,44 +18,33 @@ stages: variables: STACK: vessel deploy-support-branch-development: .deploy-development: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} environment: name: dev/postgresql name: dev/${CI_PROJECT_NAME} deploy-stable-branch-development: .deploy-production: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} environment: name: dev/postgresql deploy-stable-branch-production: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.prod.yml COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} AWS_REGION=${AWS_REGION} environment: name: pro/postgresql name: pro/${CI_PROJECT_NAME} deploy-backup-support-branch-development: extends: deploy-support-branch-development .deploy-backup: extends: .deploy variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading @@ -63,43 +52,44 @@ deploy-backup-support-branch-development: POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: dev/backup-db deploy-backup-stable-branch-development: extends: deploy-stable-branch-development .deploy-backup-development: extends: .deploy-backup variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: dev/backup-db deploy-backup-stable-branch-production: extends: deploy-stable-branch-production .deploy-backup-production: extends: .deploy-backup variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} SSH_REMOTE: ${PRO_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: pro/backup-db deploy-backup-support-branch-development: extends: .deploy-backup-development only: - branches except: - master - schedules deploy-backup-stable-branch-development: extends: .deploy-backup-development only: - master except: - schedules deploy-backup-stable-branch-production: extends: .deploy-backup-production only: - master except: - schedules scheduled-run-development: extends: scheduled-run-production script: ":" Dockerfile +26 −17 Original line number Diff line number Diff line Loading @@ -5,22 +5,31 @@ LABEL maintainer="info@redmic.es" ENV PG_CRON_VERSION="1.1.4" \ PG_PARTMAN_VERSION="4.0.0" RUN apk add --no-cache --virtual .build-deps build-base ca-certificates openssl tar \ && wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz \ && tar xvzf /pg_cron.tgz && cd pg_cron-$PG_CRON_VERSION \ && sed -i.bak -e 's/-Werror//g' Makefile \ && sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile \ && make && make install \ && cd .. && rm -rf pg_cron.tgz && rm -rf pg_cron-* \ && wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz \ && tar xvzf /pg_partman.tgz \ && cd pg_partman-$PG_PARTMAN_VERSION \ && make \ && make install \ && cd .. && rm -rf pg_partman.tgz && rm -rf pg_partman-* \ && echo "shared_preload_libraries='pg_partman_bgw,pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample \ && echo "checkpoint_timeout = 30min" >> /usr/local/share/postgresql/postgresql.conf.sample \ && echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample \ && mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh RUN apk add --no-cache --virtual \ .build-deps \ build-base \ ca-certificates \ openssl \ tar && \ wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \ tar xvzf /pg_cron.tgz && \ cd pg_cron-${PG_CRON_VERSION} && \ sed -i.bak -e 's/-Werror//g' Makefile && \ sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile && \ make && \ make install && \ cd .. && \ rm -rf pg_cron.tgz pg_cron-* && \ wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \ tar xvzf /pg_partman.tgz && \ cd pg_partman-${PG_PARTMAN_VERSION} && \ make && \ make install && \ cd .. && \ rm -rf pg_partman.tgz pg_partman-* && \ echo "shared_preload_libraries='pg_partman_bgw,pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "checkpoint_timeout = 30min" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample && \ mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh COPY rootfs / .dockerignore +1 −1 File changed.Contains only whitespace changes. Show changes Loading
.gitlab-ci.yml +36 −46 Original line number Diff line number Diff line Loading @@ -18,44 +18,33 @@ stages: variables: STACK: vessel deploy-support-branch-development: .deploy-development: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} environment: name: dev/postgresql name: dev/${CI_PROJECT_NAME} deploy-stable-branch-development: .deploy-production: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} environment: name: dev/postgresql deploy-stable-branch-production: variables: COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.prod.yml COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} AWS_REGION=${AWS_REGION} environment: name: pro/postgresql name: pro/${CI_PROJECT_NAME} deploy-backup-support-branch-development: extends: deploy-support-branch-development .deploy-backup: extends: .deploy variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading @@ -63,43 +52,44 @@ deploy-backup-support-branch-development: POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: dev/backup-db deploy-backup-stable-branch-development: extends: deploy-stable-branch-development .deploy-backup-development: extends: .deploy-backup variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: dev/backup-db deploy-backup-stable-branch-production: extends: deploy-stable-branch-production .deploy-backup-production: extends: .deploy-backup variables: SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} SSH_REMOTE: ${PRO_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: pro/backup-db deploy-backup-support-branch-development: extends: .deploy-backup-development only: - branches except: - master - schedules deploy-backup-stable-branch-development: extends: .deploy-backup-development only: - master except: - schedules deploy-backup-stable-branch-production: extends: .deploy-backup-production only: - master except: - schedules scheduled-run-development: extends: scheduled-run-production script: ":"
Dockerfile +26 −17 Original line number Diff line number Diff line Loading @@ -5,22 +5,31 @@ LABEL maintainer="info@redmic.es" ENV PG_CRON_VERSION="1.1.4" \ PG_PARTMAN_VERSION="4.0.0" RUN apk add --no-cache --virtual .build-deps build-base ca-certificates openssl tar \ && wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz \ && tar xvzf /pg_cron.tgz && cd pg_cron-$PG_CRON_VERSION \ && sed -i.bak -e 's/-Werror//g' Makefile \ && sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile \ && make && make install \ && cd .. && rm -rf pg_cron.tgz && rm -rf pg_cron-* \ && wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz \ && tar xvzf /pg_partman.tgz \ && cd pg_partman-$PG_PARTMAN_VERSION \ && make \ && make install \ && cd .. && rm -rf pg_partman.tgz && rm -rf pg_partman-* \ && echo "shared_preload_libraries='pg_partman_bgw,pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample \ && echo "checkpoint_timeout = 30min" >> /usr/local/share/postgresql/postgresql.conf.sample \ && echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample \ && mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh RUN apk add --no-cache --virtual \ .build-deps \ build-base \ ca-certificates \ openssl \ tar && \ wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \ tar xvzf /pg_cron.tgz && \ cd pg_cron-${PG_CRON_VERSION} && \ sed -i.bak -e 's/-Werror//g' Makefile && \ sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile && \ make && \ make install && \ cd .. && \ rm -rf pg_cron.tgz pg_cron-* && \ wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \ tar xvzf /pg_partman.tgz && \ cd pg_partman-${PG_PARTMAN_VERSION} && \ make && \ make install && \ cd .. && \ rm -rf pg_partman.tgz pg_partman-* && \ echo "shared_preload_libraries='pg_partman_bgw,pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "checkpoint_timeout = 30min" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample && \ mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh COPY rootfs /