Loading .gitlab-ci.yml +31 −33 Original line number Diff line number Diff line Loading @@ -3,13 +3,15 @@ stages: - test-package - deploy docker-build-commit-non-master-branches: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: Loading @@ -22,10 +24,6 @@ docker-build-commit-non-master-branches: docker-build-commit-master-branch: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - master script: Loading @@ -36,11 +34,7 @@ docker-build-commit-master-branch: container-scanning: stage: test-package image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - docker:stable-dind only: - branches script: Loading @@ -63,17 +57,21 @@ deploy-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml STATUS_CHECK_DELAY: '60' services: - docker:dind GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://atlas.${DEV_PUBLIC_HOSTNAME} Loading @@ -85,17 +83,21 @@ deploy-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml STATUS_CHECK_DELAY: '60' services: - docker:dind GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://atlas.${DEV_PUBLIC_HOSTNAME} Loading @@ -110,26 +112,22 @@ deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICE: gis STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml STATUS_CHECK_DELAY: '180' STATUS_CHECK_INTERVAL: '20' GEOSERVER_SUBDOMAIN: ${PRO_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${PRO_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} services: - docker:dind script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${GEOSERVER_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} Loading Dockerfile +2 −0 Original line number Diff line number Diff line FROM openjdk:8-jdk LABEL maintainer="info@redmic.es" ENV DEBIAN_FRONTEND="noninteractive" \ GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal importer netcdf-out" \ GEOSERVER_COMMUNITY_PLUGINS="gwc-s3" \ Loading .env→deploy/.env +0 −0 File moved. View file deploy/docker-compose.dev.yml 0 → 100644 +48 −0 Original line number Diff line number Diff line version: '3.5' services: geoserver-master: ports: - target: ${GEOSERVER_PORT} published: 8095 mode: host deploy: mode: replicated replicas: 1 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver-master restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 1G reservations: memory: 820M geoserver-slave: deploy: mode: replicated replicas: 1 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver-slave restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 1G reservations: memory: 820M volumes: geoserver-vol: name: geoserver-vol docker-compose.prod.yml→deploy/docker-compose.prod.yml +5 −17 Original line number Diff line number Diff line Loading @@ -2,10 +2,6 @@ version: '3.5' services: geoserver-master: environment: - SWARM_MODE=true networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -18,19 +14,16 @@ services: constraints: - node.role == manager restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.25' memory: 1000M cpus: '0.5' memory: 1G reservations: memory: 800M memory: 820M geoserver-slave: networks: - traefik-net deploy: mode: replicated replicas: 3 Loading @@ -43,19 +36,14 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 2500M memory: 2G reservations: memory: 2200M networks: traefik-net: external: true memory: 1639M volumes: geoserver-vol: Loading Loading
.gitlab-ci.yml +31 −33 Original line number Diff line number Diff line Loading @@ -3,13 +3,15 @@ stages: - test-package - deploy docker-build-commit-non-master-branches: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: Loading @@ -22,10 +24,6 @@ docker-build-commit-non-master-branches: docker-build-commit-master-branch: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - master script: Loading @@ -36,11 +34,7 @@ docker-build-commit-master-branch: container-scanning: stage: test-package image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - docker:stable-dind only: - branches script: Loading @@ -63,17 +57,21 @@ deploy-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml STATUS_CHECK_DELAY: '60' services: - docker:dind GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://atlas.${DEV_PUBLIC_HOSTNAME} Loading @@ -85,17 +83,21 @@ deploy-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml STATUS_CHECK_DELAY: '60' services: - docker:dind GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://atlas.${DEV_PUBLIC_HOSTNAME} Loading @@ -110,26 +112,22 @@ deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICE: gis STACK: gis SERVICES_TO_CHECK: gis_geoserver-master gis_geoserver-slave STATUS_CHECK_DELAY: 180 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml STATUS_CHECK_DELAY: '180' STATUS_CHECK_INTERVAL: '20' GEOSERVER_SUBDOMAIN: ${PRO_GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN: ${PRO_GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} services: - docker:dind script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} GEOSERVER_ADMIN_SUBDOMAIN=${GEOSERVER_ADMIN_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${GEOSERVER_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} Loading
Dockerfile +2 −0 Original line number Diff line number Diff line FROM openjdk:8-jdk LABEL maintainer="info@redmic.es" ENV DEBIAN_FRONTEND="noninteractive" \ GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal importer netcdf-out" \ GEOSERVER_COMMUNITY_PLUGINS="gwc-s3" \ Loading
deploy/docker-compose.dev.yml 0 → 100644 +48 −0 Original line number Diff line number Diff line version: '3.5' services: geoserver-master: ports: - target: ${GEOSERVER_PORT} published: 8095 mode: host deploy: mode: replicated replicas: 1 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver-master restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 1G reservations: memory: 820M geoserver-slave: deploy: mode: replicated replicas: 1 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver-slave restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 1G reservations: memory: 820M volumes: geoserver-vol: name: geoserver-vol
docker-compose.prod.yml→deploy/docker-compose.prod.yml +5 −17 Original line number Diff line number Diff line Loading @@ -2,10 +2,6 @@ version: '3.5' services: geoserver-master: environment: - SWARM_MODE=true networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -18,19 +14,16 @@ services: constraints: - node.role == manager restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.25' memory: 1000M cpus: '0.5' memory: 1G reservations: memory: 800M memory: 820M geoserver-slave: networks: - traefik-net deploy: mode: replicated replicas: 3 Loading @@ -43,19 +36,14 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 2500M memory: 2G reservations: memory: 2200M networks: traefik-net: external: true memory: 1639M volumes: geoserver-vol: Loading