Commit 265acb5b authored by Noel Alonso's avatar Noel Alonso
Browse files

Simplifica sintaxis de before_script

parent f17056b4
Loading
Loading
Loading
Loading
+68 −59
Original line number Diff line number Diff line
@@ -39,73 +39,82 @@ stages:
  services:
    - ${DIND_IMAGE_NAME}:${DIND_IMAGE_TAG}
  before_script:
    - |
      mkdir -p sql
      chmod -R 755 sql
      docker network create test
    - >
      mkdir -p sql;
      chmod -R 755 sql;
      docker network create test;
      docker run -d --rm --name postgres
        -p 5432:5432
        --network test
        --network-alias db
        -e POSTGRES_DB
        -e POSTGRES_USER
        -e POSTGRES_PASSWORD
        -v $(pwd)/sql:/sql
        postgres:${POSTGRES_IMAGE_TAG}
    - >
      docker run -d --rm --name postgres \
        -p 5432:5432 \
        --network test \
        --network-alias db \
        -e POSTGRES_DB \
        -e POSTGRES_USER \
        -e POSTGRES_PASSWORD \
        -v $(pwd)/sql:/sql \
        postgres:${POSTGRES_IMAGE_TAG};
    - >
      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}" \
        -o sql/oauth_database_structure_test.sql \
        "https://gitlab.com/api/v4/snippets/${OAUTH_DATABASE_STRUCTURE_TEST_SNIPPET_ID}/raw";
      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}" \
        -o sql/oauth_database_data_test.sql \
        "https://gitlab.com/api/v4/snippets/${OAUTH_DATABASE_DATA_TEST_SNIPPET_ID}/raw";
      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}" \
        -o sql/user_database_structure_test.sql \
        "https://gitlab.com/api/v4/snippets/${USER_DATABASE_STRUCTURE_TEST_SNIPPET_ID}/raw";
      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}" \
        -o sql/user_database_data_test.sql \
        "https://gitlab.com/api/v4/snippets/${USER_DATABASE_DATA_TEST_SNIPPET_ID}/raw";
      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}"
        -o sql/oauth_database_structure_test.sql
        "https://gitlab.com/api/v4/snippets/${OAUTH_DATABASE_STRUCTURE_TEST_SNIPPET_ID}/raw"

      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}"
        -o sql/oauth_database_data_test.sql
        "https://gitlab.com/api/v4/snippets/${OAUTH_DATABASE_DATA_TEST_SNIPPET_ID}/raw"

      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}"
        -o sql/user_database_structure_test.sql
        "https://gitlab.com/api/v4/snippets/${USER_DATABASE_STRUCTURE_TEST_SNIPPET_ID}/raw"

      curl -s --header "PRIVATE-TOKEN: ${GITLAB_TOKEN_READ_API}"
        -o sql/user_database_data_test.sql
        "https://gitlab.com/api/v4/snippets/${USER_DATABASE_DATA_TEST_SNIPPET_ID}/raw"
    - >
      RETRIES=10;
      until docker exec postgres psql -h localhost \
          -d redmic \
          -U ${POSTGRES_USER} \
      until docker exec postgres psql -h localhost
          -d redmic
          -U ${POSTGRES_USER}
          -c 'select 1' > /dev/null 2>&1 || [ $RETRIES -eq 0 ];
      do \
          RETRIES=$((RETRIES-=1)) \
          echo "Waiting for postgres server, ${RETRIES} remaining attempts..." \
      do
          RETRIES=$((RETRIES-=1));
          echo "Waiting for postgres server, ${RETRIES} remaining attempts...";
          sleep 1;
      done;
      docker exec postgres psql -h localhost \
        -d redmic \
        -U ${POSTGRES_USER} \
        -f /sql/oauth_database_structure_test.sql;
      docker exec postgres psql -h localhost \
        -d redmic \
        -U ${POSTGRES_USER} \
        -c "ALTER ROLE ${SPRING_DATASOURCE_USERNAME} WITH PASSWORD '${SPRING_DATASOURCE_PASSWORD}'";
      docker exec postgres psql -h localhost \
        -d redmic \
        -U ${POSTGRES_USER} \
        -f /sql/oauth_database_data_test.sql;
      docker exec postgres psql -h localhost \
        -d redmic \
        -U ${POSTGRES_USER} \
        -f /sql/user_database_structure_test.sql;
      docker exec postgres psql -h localhost \
        -d redmic \
        -U ${POSTGRES_USER} \
        -f /sql/user_database_data_test.sql;
      done
    - >
      docker exec postgres psql -h localhost
        -d redmic
        -U ${POSTGRES_USER}
        -f /sql/oauth_database_structure_test.sql

      docker exec postgres psql -h localhost
        -d redmic
        -U ${POSTGRES_USER}
        -c "ALTER ROLE ${SPRING_DATASOURCE_USERNAME} WITH PASSWORD '${SPRING_DATASOURCE_PASSWORD}'"

      docker exec postgres psql -h localhost
        -d redmic
        -U ${POSTGRES_USER}
        -f /sql/oauth_database_data_test.sql

      docker exec postgres psql -h localhost
        -d redmic
        -U ${POSTGRES_USER}
        -f /sql/user_database_structure_test.sql

      docker exec postgres psql -h localhost
        -d redmic
        -U ${POSTGRES_USER}
        -f /sql/user_database_data_test.sql
    - >
      docker run -d --rm --name oauth \
        -p 8081:8081 \
        --network test \
        -e SPRING_PROFILES_ACTIVE=dev \
        -e SPRING_DATASOURCE_USERNAME \
        -e SPRING_DATASOURCE_PASSWORD \
        ${OAUTH_IMAGE_NAME}:${OAUTH_IMAGE_TAG};
      docker run -d --rm --name oauth
        -p 8081:8081
        --network test
        -e SPRING_PROFILES_ACTIVE=dev
        -e SPRING_DATASOURCE_USERNAME
        -e SPRING_DATASOURCE_PASSWORD
        ${OAUTH_IMAGE_NAME}:${OAUTH_IMAGE_TAG}
  after_script:
    - rm -rf .m2/repository/es
    - docker stop oauth postgres

.docker-build: