Commit 4fe4d951 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Define configuración y despliegue inicial

parent 82f15ad4
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+130 −0
Original line number Diff line number Diff line
include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment.yml'

stages:
  - deploy

variables:
  PROJECT_PARENT_NAME: gitlab

.deploy:
  variables:
    STACK: ${PROJECT_PARENT_NAME}
    SERVICES_TO_CHECK: ${PROJECT_PARENT_NAME}_${CI_PROJECT_NAME}

.deploy-development:
  variables:
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml
  environment:
    name: dev/${CI_PROJECT_NAME}

.deploy-production:
  variables:
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml
  environment:
    name: pro/${CI_PROJECT_NAME}

.deploy-registrar:
  variables: &deploy-registrar-variables
    SERVICES_TO_CHECK: ${PROJECT_PARENT_NAME}_${CI_PROJECT_NAME}-registrar

.deploy-registrar-development:
  extends: .deploy-development
  variables:
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}-registrar.tmpl.yml:docker-compose.${CI_PROJECT_NAME}-registrar.dev.yml
    <<: *deploy-registrar-variables

.deploy-registrar-grafcan-gitlab-es-development:
  extends: .deploy-registrar-development
  environment:
    name: dev/${CI_PROJECT_NAME}-registrar-grafcan-gitlab-es

.deploy-registrar-gitlab-com-development:
  extends: .deploy-registrar-development
  environment:
    name: dev/${CI_PROJECT_NAME}-registrar-gitlab-com

.deploy-registrar-production:
  extends: .deploy-production
  variables:
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}-registrar.tmpl.yml:docker-compose.${CI_PROJECT_NAME}-registrar.prod.yml
    <<: *deploy-registrar-variables

.deploy-registrar-grafcan-gitlab-es-production:
  extends: .deploy-registrar-production
  environment:
    name: pro/${CI_PROJECT_NAME}-registrar-grafcan-gitlab-es

.deploy-registrar-gitlab-com-production:
  extends: .deploy-registrar-production
  environment:
    name: pro/${CI_PROJECT_NAME}-registrar-gitlab-com

.deploy-registrar-support-branch: &deploy-registrar-support-branch
  rules:
    - if: $CI_MERGE_REQUEST_ID ||
          $CI_COMMIT_TAG ||
          $CI_PIPELINE_SOURCE == "schedule" ||
          $CI_COMMIT_BRANCH == "master"
      when: never
    - if: $CI_COMMIT_BRANCH
      when: manual
      allow_failure: true

deploy-registrar-grafcan-gitlab-es-support-branch-development:
  extends: .deploy-registrar-grafcan-gitlab-es-development
  <<: *deploy-registrar-support-branch

deploy-registrar-gitlab-com-support-branch-development:
  extends: .deploy-registrar-gitlab-com-development
  <<: *deploy-registrar-support-branch

.deploy-registrar-stable-branch: &deploy-registrar-stable-branch
  rules:
    - if: $CI_MERGE_REQUEST_ID ||
          $CI_COMMIT_TAG ||
          $CI_PIPELINE_SOURCE == "schedule"
      when: never
    - if: $CI_COMMIT_BRANCH == "master"
      when: manual
      allow_failure: true

deploy-registrar-grafcan-gitlab-es-stable-branch-development:
  extends: .deploy-registrar-grafcan-gitlab-es-development
  <<: *deploy-registrar-stable-branch

deploy-registrar-gitlab-com-stable-branch-development:
  extends: .deploy-registrar-gitlab-com-development
  <<: *deploy-registrar-stable-branch

deploy-registrar-grafcan-gitlab-es-stable-branch-production:
  extends: .deploy-registrar-grafcan-gitlab-es-production
  <<: *deploy-registrar-stable-branch

deploy-registrar-gitlab-com-stable-branch-production:
  extends: .deploy-registrar-gitlab-com-production
  <<: *deploy-registrar-stable-branch

.deploy-registrar-tag: &deploy-registrar-tag
  rules:
    - if: $CI_COMMIT_TAG
      when: manual
      allow_failure: true

deploy-registrar-grafcan-gitlab-es-tag-development:
  extends: .deploy-registrar-grafcan-gitlab-es-development
  <<: *deploy-registrar-tag

deploy-registrar-gitlab-com-tag-development:
  extends: .deploy-registrar-gitlab-com-development
  <<: *deploy-registrar-tag

deploy-registrar-grafcan-gitlab-es-tag-production:
  extends: .deploy-registrar-grafcan-gitlab-es-production
  <<: *deploy-registrar-tag

deploy-registrar-gitlab-com-tag-production:
  extends: .deploy-registrar-gitlab-com-production
  <<: *deploy-registrar-tag
+5 −1
Original line number Diff line number Diff line
# GitLab Runner

Deployment of a service to run GitLab CI/CD workloads

## Deployment

At first time, you must deploy `gitlab-runner-registrar` to configure and register a new runner instance. Then, deploy `gitlab-runner` (launching default deployment jobs) to receive jobs to run.

deploy/.env

0 → 100644
+38 −0
Original line number Diff line number Diff line
IMAGE_NAME=gitlab/gitlab-runner
IMAGE_TAG=alpine

CONFIG_FILE=/etc/gitlab-runner/config.toml
CI_SERVER_URL=https://gitlab.com/
REGISTRATION_TOKEN=changeme
REGISTER_NON_INTERACTIVE=true
REGISTER_LOCKED=false
REGISTER_RUN_UNTAGGED=true
RUNNER_NAME=redmic-gitlab-runner
RUNNER_TAG_LIST=custom-runner
RUNNER_LIMIT=2
RUNNER_REQUEST_CONCURRENCY=2
RUNNER_OUTPUT_LIMIT=40960
RUNNER_EXECUTOR=docker

DOCKER_IMAGE=alpine
DOCKER_PRIVILEGED=false
DOCKER_DISABLE_CACHE=false
DOCKER_SHM_SIZE=1000000000
DOCKER_MEMORY=4g
DOCKER_MEMORY_RESERVATION=1g
DOCKER_CPUS=4
RUNNER_DOCKER_TLS_VERIFY=false

CACHE_TYPE=s3
CACHE_SHARED=true
CACHE_S3_SERVER_ADDRESS=minio:9000
CACHE_S3_INSECURE=true
CACHE_S3_ACCESS_KEY=changeme
CACHE_S3_SECRET_KEY=changeme
CACHE_S3_BUCKET_NAME=gitlab-runner-cache

CONFIG_VOL_NAME=gitlab-runner-config-vol
WORK_VOL_NAME=gitlab-runner-work-vol

GITLAB_NET_NAME=gitlab-net
GITLAB_NET_DRIVER=overlay
+8 −0
Original line number Diff line number Diff line
version: '3.5'

volumes:
  config-vol:
    name: ${CONFIG_VOL_NAME}

  work-vol:
    name: ${WORK_VOL_NAME}
+60 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  gitlab-runner-registrar:
    image: ${IMAGE_NAME}:${IMAGE_TAG}
    command: register
    environment:
      CONFIG_FILE:
      CI_SERVER_URL:
      REGISTRATION_TOKEN:
      REGISTER_NON_INTERACTIVE:
      REGISTER_LOCKED:
      REGISTER_RUN_UNTAGGED:
      RUNNER_NAME:
      RUNNER_TAG_LIST:
      RUNNER_LIMIT:
      RUNNER_REQUEST_CONCURRENCY:
      RUNNER_OUTPUT_LIMIT:
      RUNNER_EXECUTOR:
      CACHE_TYPE:
      CACHE_SHARED:
      CACHE_S3_SERVER_ADDRESS:
      CACHE_S3_INSECURE:
      CACHE_S3_ACCESS_KEY:
      CACHE_S3_SECRET_KEY:
      CACHE_S3_BUCKET_NAME:
      DOCKER_IMAGE:
      DOCKER_PRIVILEGED:
      DOCKER_DISABLE_CACHE:
      DOCKER_SHM_SIZE:
      DOCKER_MEMORY:
      DOCKER_MEMORY_RESERVATION:
      DOCKER_CPUS:
      DOCKER_TLS_VERIFY: ${RUNNER_DOCKER_TLS_VERIFY}
    networks:
      gitlab-net:
    volumes:
      - config-vol:/etc/gitlab-runner
      - work-vol:/home/gitlab-runner
    deploy:
      mode: replicated
      replicas: ${REPLICAS:-1}
      restart_policy:
        condition: on-failure
        delay: ${RESTART_DELAY:-5s}
      update_config:
        delay: ${UPDATE_DELAY:-1m}
      resources:
        limits:
          cpus: '${RESOURCES_LIMITS_CPUS:-0.1}'
          memory: ${RESOURCES_LIMITS_MEMORY:-8M}
        reservations:
          cpus: '${RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${RESOURCES_RESERVATIONS_MEMORY:-4M}

networks:
  gitlab-net:
    name: ${GITLAB_NET_NAME}
    driver: ${GITLAB_NET_DRIVER}
    attachable: ${GITLAB_NET_ATTACHABLE:-true}
Loading