Loading .gitlab-ci.yml +41 −16 Original line number Diff line number Diff line Loading @@ -119,19 +119,28 @@ deploy-dev: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml SPRING_PROFILES_ACTIVE: pre SPRING_DATASOURCE_USERNAME: ${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=pre SPRING_DATASOURCE_USERNAME=${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY=${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${DEV_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: dev url: https://appdev.${DEV_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading @@ -144,19 +153,28 @@ deploy-supporting-branch: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml SPRING_PROFILES_ACTIVE: pre SPRING_DATASOURCE_USERNAME: ${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=pre SPRING_DATASOURCE_USERNAME=${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY=${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${DEV_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: dev url: https://appdev.${DEV_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading @@ -173,21 +191,28 @@ deploy-pro: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STATUS_CHECK_DELAY: 120 STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_USERNAME: ${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${PRO_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${PRO_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${PRO_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${PRO_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${PRO_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${PRO_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=prod SPRING_DATASOURCE_USERNAME=${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${PRO_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${PRO_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${PRO_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${PRO_AWS_ACCESS_KEY} AWS_SECRET_KEY=${PRO_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${PRO_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: pro url: https://${PRO_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading Dockerfile +0 −4 Original line number Diff line number Diff line Loading @@ -6,7 +6,3 @@ FROM ${PARENT_IMAGE_NAME}:${PARENT_IMAGE_TAG} COPY /dist/*.jar ./ EXPOSE ${MICROSERVICE_PORT} ENTRYPOINT java ${JAVA_OPTS} \ -Djava.security.egd=file:/dev/./urandom \ -jar ${DIRPATH}/${MICROSERVICE_NAME}.jar .env→deploy/.env +0 −0 File moved. View file deploy/docker-compose.dev.yml 0 → 100644 +32 −0 Original line number Diff line number Diff line version: '3.5' services: api: ports: - target: ${MICROSERVICE_PORT} published: ${MICROSERVICE_PORT} mode: host deploy: mode: replicated replicas: 1 labels: traefik.port: "${MICROSERVICE_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: PathPrefix:/${MICROSERVICE_NAME} traefik.backend: ${MICROSERVICE_NAME} restart_policy: delay: 1m window: 3m resources: limits: cpus: '1' memory: 1G reservations: memory: 820M volumes: mediastorage-private-vol: name: mediastorage-private-vol mediastorage-public-vol: name: mediastorage-public-vol docker-compose.prod.yml→deploy/docker-compose.prod.yml +11 −7 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ version: '3.5' services: api: networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -16,18 +14,24 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure delay: 1m window: 3m networks: traefik-net: external: true resources: limits: cpus: '1' memory: 1G reservations: memory: 820M volumes: mediastorage-private-vol: name: mediastorage-private-vol driver: "cloudstor:aws" driver_opts: backing: shared mediastorage-public-vol: name: mediastorage-public-vol driver: "cloudstor:aws" driver_opts: backing: shared Loading
.gitlab-ci.yml +41 −16 Original line number Diff line number Diff line Loading @@ -119,19 +119,28 @@ deploy-dev: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml SPRING_PROFILES_ACTIVE: pre SPRING_DATASOURCE_USERNAME: ${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=pre SPRING_DATASOURCE_USERNAME=${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY=${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${DEV_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: dev url: https://appdev.${DEV_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading @@ -144,19 +153,28 @@ deploy-supporting-branch: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml SPRING_PROFILES_ACTIVE: pre SPRING_DATASOURCE_USERNAME: ${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=pre SPRING_DATASOURCE_USERNAME=${DEV_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${DEV_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${DEV_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${DEV_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY=${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${DEV_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: dev url: https://appdev.${DEV_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading @@ -173,21 +191,28 @@ deploy-pro: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STATUS_CHECK_DELAY: 120 STACK: api SERVICES_TO_CHECK: api_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_USERNAME: ${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${PRO_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID: ${PRO_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET: ${PRO_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY: ${PRO_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${PRO_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${PRO_ELASTIC_XPACKSECURITYUSER} services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} SPRING_PROFILES_ACTIVE=prod SPRING_DATASOURCE_USERNAME=${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${PRO_SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${PRO_OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${PRO_OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${PRO_AWS_ACCESS_KEY} AWS_SECRET_KEY=${PRO_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${PRO_ELASTIC_XPACKSECURITYUSER} SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD} OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: pro url: https://${PRO_PUBLIC_HOSTNAME}/${CI_PROJECT_NAME} Loading
Dockerfile +0 −4 Original line number Diff line number Diff line Loading @@ -6,7 +6,3 @@ FROM ${PARENT_IMAGE_NAME}:${PARENT_IMAGE_TAG} COPY /dist/*.jar ./ EXPOSE ${MICROSERVICE_PORT} ENTRYPOINT java ${JAVA_OPTS} \ -Djava.security.egd=file:/dev/./urandom \ -jar ${DIRPATH}/${MICROSERVICE_NAME}.jar
deploy/docker-compose.dev.yml 0 → 100644 +32 −0 Original line number Diff line number Diff line version: '3.5' services: api: ports: - target: ${MICROSERVICE_PORT} published: ${MICROSERVICE_PORT} mode: host deploy: mode: replicated replicas: 1 labels: traefik.port: "${MICROSERVICE_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: PathPrefix:/${MICROSERVICE_NAME} traefik.backend: ${MICROSERVICE_NAME} restart_policy: delay: 1m window: 3m resources: limits: cpus: '1' memory: 1G reservations: memory: 820M volumes: mediastorage-private-vol: name: mediastorage-private-vol mediastorage-public-vol: name: mediastorage-public-vol
docker-compose.prod.yml→deploy/docker-compose.prod.yml +11 −7 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ version: '3.5' services: api: networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -16,18 +14,24 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure delay: 1m window: 3m networks: traefik-net: external: true resources: limits: cpus: '1' memory: 1G reservations: memory: 820M volumes: mediastorage-private-vol: name: mediastorage-private-vol driver: "cloudstor:aws" driver_opts: backing: shared mediastorage-public-vol: name: mediastorage-public-vol driver: "cloudstor:aws" driver_opts: backing: shared