Commit 519b13e1 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Adapta Gitlab y runners a Docker Swarm

parent db33d1d9
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@ deploy-gitlab-ce-dev:
  variables:
    DEPLOY_DIR_NAME: gitlab-ce
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SERVICE: gitlab-ce
    STACK: gitlab
    SERVICES_TO_CHECK: gitlab_gitlab-ce
    IMAGE_TAG: latest
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    AWS_REGION: ${OAGDEV_GITLAB_AWS_REGION}
@@ -48,9 +49,9 @@ deploy-gitlab-ce-dev:
    - >
      deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION}
      AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} SMTP_ADDR=${SMTP_ADDR}
      SMTP_USER=${SMTP_USER} SMTP_PASS=${SMTP_PASS} SMTP_DOMAIN=${SMTP_DOMAIN}
      SMTP_USER=${SMTP_USER} SMTP_PASS=${SMTP_PASS} SMTP_DOMAIN=${SMTP_DOMAIN} PUBLIC_HOSTNAME=${DEV_PUBLIC_HOSTNAME}
  environment:
    name: dev/${SERVICE}
    name: dev/gitlab-ce
    url: https://git.${DEV_PUBLIC_HOSTNAME}
  only:
    - dev
@@ -61,7 +62,8 @@ deploy-gitlab-runner-local:
  variables:
    DEPLOY_DIR_NAME: gitlab-runner
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SERVICE: gitlab-runner-local
    STACK: gitlab
    SERVICES_TO_CHECK: gitlab_gitlab-runner-local
    IMAGE_TAG: alpine
    COMPOSE_FILE: docker-compose.gitlab-runner-local.tmpl.yml:docker-compose.gitlab-runner-local.dev.yml
    GITLAB_URL: https://git.redmic.net
@@ -74,7 +76,7 @@ deploy-gitlab-runner-local:
      GITLAB_TOKEN=${GITLAB_TOKEN} MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      RUNNER_NAME="${RUNNER_NAME}"
  environment:
    name: dev/${SERVICE}
    name: dev/gitlab-runner-local
  only:
    - dev
  when: manual
@@ -84,7 +86,8 @@ deploy-gitlab-runner-remote:
  variables:
    DEPLOY_DIR_NAME: gitlab-runner
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SERVICE: gitlab-runner-remote
    STACK: gitlab
    SERVICES_TO_CHECK: gitlab_gitlab-runner-remote
    IMAGE_TAG: alpine
    COMPOSE_FILE: docker-compose.gitlab-runner-remote.tmpl.yml:docker-compose.gitlab-runner-remote.dev.yml
    GITLAB_URL: https://gitlab.com
@@ -98,7 +101,7 @@ deploy-gitlab-runner-remote:
      GITLAB_TOKEN=${GITLAB_TOKEN} MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      RUNNER_NAME="${RUNNER_NAME}" RUNNER_TAG_LIST=${RUNNER_TAG_LIST}
  environment:
    name: dev/${SERVICE}
    name: dev/gitlab-runner-remote
  only:
    - dev
  when: manual
+24 −9
Original line number Diff line number Diff line
@@ -2,15 +2,6 @@ version: '3.5'

services:
  gitlab-ce:
    container_name: gitlab-ce
    hostname: ${GITLAB_SUBDOMAIN}.${GITLAB_DOMAIN}
    restart: on-failure:3
    ports:
      - "${GITLAB_SSH_PORT}:22"
      - "${GITLAB_HTTP_PORT}:80"
      - "${GITLAB_HTTPS_PORT}:443"
    volumes:
      - /home/git/.ssh/authorized_keys_proxy:/gitlab-data/ssh/authorized_keys
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url '${GITLAB_PROTOCOL}://${GITLAB_SUBDOMAIN}.${GITLAB_DOMAIN}'
@@ -35,6 +26,30 @@ services:
        gitlab_rails['smtp_authentication'] = "plain"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        unicorn['port'] = 8090
    ports:
      - "${GITLAB_SSH_PORT}:22"
      - "${GITLAB_HTTP_PORT}:80"
      - "${GITLAB_HTTPS_PORT}:443"
    volumes:
      - /home/git/.ssh/authorized_keys_proxy:/gitlab-data/ssh/authorized_keys
    deploy:
      mode: replicated
      replicas: 1
      labels:
        traefik.port: "443"
        traefik.docker.network: traefik-net
        traefik.frontend.rule: Host:git.${PUBLIC_HOSTNAME}
        traefik.backend: gitlab
      restart_policy:
        condition: on-failure
        delay: 2m
        window: 5m
      resources:
        limits:
          cpus: '2'
          memory: 4G
        reservations:
          memory: 3G

volumes:
  gitlab-ce-config-vol:
+4 −0
Original line number Diff line number Diff line
@@ -3,8 +3,10 @@ version: '3.5'
services:
  gitlab-ce:
    image: gitlab/gitlab-ce:${IMAGE_TAG:-latest}
    hostname: ${GITLAB_SUBDOMAIN}.${GITLAB_DOMAIN}
    networks:
      - gitlab-net
      - traefik-net
    volumes:
      - gitlab-ce-config-vol:/etc/gitlab
      - gitlab-ce-log-vol:/var/log/gitlab
@@ -13,3 +15,5 @@ services:
networks:
  gitlab-net:
    external: true
  traefik-net:
    external: true
+13 −2
Original line number Diff line number Diff line
@@ -2,5 +2,16 @@ version: '3.5'

services:
  gitlab-runner-local:
    container_name: gitlab-runner-local
    restart: on-failure:3
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 30s
        window: 1m
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          memory: 820M
+13 −2
Original line number Diff line number Diff line
@@ -2,5 +2,16 @@ version: '3.5'

services:
  gitlab-runner-remote:
    container_name: gitlab-runner-remote
    restart: on-failure:3
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 30s
        window: 1m
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          memory: 820M