Commit f046bd14 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Flexibiliza el uso de compose en build y deploy

See merge request redmic-project/gitlab-ci-templates!82
parents 03543624 9fc1edc4
Loading
Loading
Loading
Loading
+38 −2
Original line number Diff line number Diff line
@@ -6,9 +6,43 @@
    DOCKER_DEPLOY_IMAGE_NAME: redmic/docker-docker-deploy
    DOCKER_DEPLOY_IMAGE_TAG: latest
    STACK: ${CI_PROJECT_NAME}
    DEPLOY_DIR_NAME: deploy
    REGISTRY_URL: ${CI_REGISTRY}
    REGISTRY_USER: ${CI_DEPLOY_USER}
    REGISTRY_PASS: ${CI_DEPLOY_PASSWORD}
  before_script:
    - >
      if [ -z ${COMPOSE_FILE} ];
      then
        firstNewComposeFile=$(echo "${NEW_COMPOSE_FILE}" | cut -d ':' -f 1);
        newSingleComposeFile=compose.yaml;
        firstOldComposeFile=$(echo "${OLD_COMPOSE_FILE}" | cut -d ':' -f 1);
        oldSingleComposeFile=docker-compose.yml;
        if [ -f ${DEPLOY_DIR_NAME}/${firstNewComposeFile} ];
        then
          echo "Detected '${firstNewComposeFile}' compose file, nice!";
          composeFile="${NEW_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${newSingleComposeFile} ];
        then
          echo "Detected '${newSingleComposeFile}' compose file, nice!";
          composeFile="${newSingleComposeFile}";
        elif [ -f ${DEPLOY_DIR_NAME}/${firstOldComposeFile} ];
        then
          echo "Detected '${firstOldComposeFile}' compose file (old naming)";
          composeFile="${OLD_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${oldSingleComposeFile} ];
        then
          echo "Detected '${oldSingleComposeFile}' compose file (old naming)";
          composeFile="${oldSingleComposeFile}";
        else
          echo "No compose file specified or detected, using docker-deploy default for COMPOSE_FILE";
        fi;
        if [ ! -z ${composeFile} ];
        then
          echo "Automatically set COMPOSE_FILE to '${composeFile}'";
          export COMPOSE_FILE="${composeFile}";
        fi;
      fi;
  script: deploy

.deploy-development:
@@ -17,7 +51,8 @@
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SSH_PORT: ${DEV_SSH_PORT}
    DEPLOY_KEY: ${DEV_DEPLOY_KEY}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.dev.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  environment:
@@ -29,7 +64,8 @@
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SSH_PORT: ${PRO_SSH_PORT}
    DEPLOY_KEY: ${PRO_DEPLOY_KEY}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.prod.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
  environment:
+44 −1
Original line number Diff line number Diff line
@@ -14,7 +14,50 @@
  extends: .docker-operations
  stage: package
  variables:
    COMPOSE_FILE_NAME: docker-compose.tmpl.yml:docker-compose.dev.yml
    NEW_COMPOSE_FILE_NAME: compose.tmpl.yaml:compose.dev.yaml
    OLD_COMPOSE_FILE_NAME: docker-compose.tmpl.yml:docker-compose.dev.yml
  before_script:
    - >
      for directory in ${COMPOSE_PROJECT_DIRECTORY:-build deploy .};
      do
        if [ -z ${COMPOSE_FILE_NAME} ];
        then
          firstNewComposeFile=$(echo "${NEW_COMPOSE_FILE_NAME}" | cut -d ':' -f 1);
          newSingleComposeFile=compose.yaml;
          firstOldComposeFile=$(echo "${OLD_COMPOSE_FILE_NAME}" | cut -d ':' -f 1);
          oldSingleComposeFile=docker-compose.yml;
          if [ -f ${directory}/${firstNewComposeFile} ];
          then
            echo "Detected '${directory}/${firstNewComposeFile}' compose file, nice!";
            composeFileName="${NEW_COMPOSE_FILE_NAME}";
          elif [ -f ${directory}/${newSingleComposeFile} ];
          then
            echo "Detected '${directory}/${newSingleComposeFile}' compose file, nice!";
            composeFileName="${newSingleComposeFile}";
          elif [ -f ${directory}/${firstOldComposeFile} ];
          then
            echo "Detected '${directory}/${firstOldComposeFile}' compose file (old naming)";
            composeFileName="${OLD_COMPOSE_FILE_NAME}";
          elif [ -f ${directory}/${oldSingleComposeFile} ];
          then
            echo "Detected '${directory}/${oldSingleComposeFile}' compose file (old naming)";
            composeFileName="${oldSingleComposeFile}";
          else
            echo "No compose file detected at '${directory}/'";
          fi;
          if [ ! -z ${composeFileName} ];
          then
            echo "Automatically set COMPOSE_FILE_NAME to '${composeFileName}' and COMPOSE_PROJECT_DIRECTORY to '${directory}'";
            export COMPOSE_FILE_NAME="${composeFileName}";
            export COMPOSE_PROJECT_DIRECTORY="${directory}";
            break;
          fi;
        fi;
      done;
      if [ -z ${COMPOSE_FILE_NAME} ];
      then
        echo "No compose file specified or detected, using docker-build default for COMPOSE_FILE_NAME";
      fi;
  script: build

.docker-tag: