Loading .gitlab-ci.yml +42 −17 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ maven-build: AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} tags: - oagdev only: - branches cache: Loading Loading @@ -122,19 +120,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} JOBS_DATASOURCE_USERNAME: ${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} 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}/api/${CI_PROJECT_NAME} Loading @@ -147,19 +154,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} JOBS_DATASOURCE_USERNAME: ${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} 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}/api/${CI_PROJECT_NAME} Loading @@ -176,19 +192,28 @@ deploy-pro: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_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.prod.yml SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_USERNAME: ${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${PRO_SPRING_DATASOURCE_PASSWORD} JOBS_DATASOURCE_USERNAME: ${PRO_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${PRO_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${PRO_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${PRO_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: pro url: https://${PRO_PUBLIC_HOSTNAME}/api/${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: tasks: 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:/api/${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 No newline at end of file docker-compose.prod.yml→deploy/docker-compose.prod.yml +13 −8 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ version: '3.5' services: tasks: networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -16,17 +14,24 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure max_attempts: 3 networks: traefik-net: external: true delay: 1m window: 3m 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 +42 −17 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ maven-build: AWS_ACCESS_KEY: ${DEV_AWS_ACCESS_KEY} AWS_SECRET_KEY: ${DEV_AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER: ${DEV_ELASTIC_XPACKSECURITYUSER} tags: - oagdev only: - branches cache: Loading Loading @@ -122,19 +120,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} JOBS_DATASOURCE_USERNAME: ${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} 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}/api/${CI_PROJECT_NAME} Loading @@ -147,19 +154,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} JOBS_DATASOURCE_USERNAME: ${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${DEV_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${DEV_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} 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}/api/${CI_PROJECT_NAME} Loading @@ -176,19 +192,28 @@ deploy-pro: variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_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.prod.yml SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_USERNAME: ${PRO_SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${PRO_SPRING_DATASOURCE_PASSWORD} JOBS_DATASOURCE_USERNAME: ${PRO_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD: ${PRO_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${PRO_JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${PRO_JOBS_DATASOURCE_PASSWORD} 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} JOBS_DATASOURCE_USERNAME=${JOBS_DATASOURCE_USERNAME} JOBS_DATASOURCE_PASSWORD=${JOBS_DATASOURCE_PASSWORD} AWS_ACCESS_KEY=${AWS_ACCESS_KEY} AWS_SECRET_KEY=${AWS_SECRET_KEY} ELASTIC_XPACKSECURITYUSER=${ELASTIC_XPACKSECURITYUSER} environment: name: pro url: https://${PRO_PUBLIC_HOSTNAME}/api/${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: tasks: 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:/api/${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 No newline at end of file
docker-compose.prod.yml→deploy/docker-compose.prod.yml +13 −8 Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ version: '3.5' services: tasks: networks: - traefik-net deploy: mode: replicated replicas: 1 Loading @@ -16,17 +14,24 @@ services: constraints: - node.role == worker restart_policy: condition: on-failure max_attempts: 3 networks: traefik-net: external: true delay: 1m window: 3m 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