variables: PROJECT_BUILDNAME: "testskel-job" REPO_URI: "662348923997.dkr.ecr.eu-west-1.amazonaws.com/testskel-job" KUBE_DEPLOYMENT_NAME: "testskel-job" KUBE_CONTAINER_NAME: "testskel-job" stages: - test - build - deploy Run Unit: stage: test tags: - docker - x86 - aws only: - /^[0-9]+\.[0-9]+\.[0-9]+$/ except: - branches - triggers script: - echo "Logging into AWS" - $(aws ecr get-login --no-include-email) - echo "Generating Unit Test $CI_COMMIT_TAG Dockerfile" - ./cicd/generateDockerfile.sh -t - echo "Building Unit Test Image $PROJECT_BUILDNAME-unit:$CI_COMMIT_TAG" - docker build -t $PROJECT_BUILDNAME-unit:$CI_COMMIT_TAG . - echo "Running unit tests" - docker run -e ASD_BUILDNAME="$PROJECT_BUILDNAME" $PROJECT_BUILDNAME-unit:$CI_COMMIT_TAG -c /test$PROJECT_BUILDNAME/phpunit.xml Build image: stage: build tags: - docker - aws - x86 only: - /^[0-9]+\.[0-9]+\.[0-9]+$/ except: - branches - triggers script: - echo "Logging into AWS" - $(aws ecr get-login --no-include-email) - echo "Generating Build $CI_COMMIT_TAG Dockerfile" - ./cicd/generateDockerfile.sh -b - echo "Setting version file with $CI_COMMIT_TAG" - echo "$CI_COMMIT_TAG" > version - echo "Building image with name $REPO_URI:$CI_COMMIT_TAG" - docker build -t $REPO_URI:$CI_COMMIT_TAG . - echo "Pushing image" - docker push "$REPO_URI:$CI_COMMIT_TAG" | cat Deploy Test: stage: deploy tags: - kube - deployer - test only: - /^[0-9]+\.[0-9]+\.[0-9]+$/ except: - branches - triggers environment: name: test # url: https://$PROJECT_BUILDNAME.azzurroservice.it/test/ script: - echo "Updating image version" - kubectl set image deployments $KUBE_DEPLOYMENT_NAME $KUBE_CONTAINER_NAME="$REPO_URI:$CI_COMMIT_TAG" - echo "Checking status" - kubectl rollout status deployments $KUBE_CONTAINER_NAME Deploy Production: stage: deploy tags: - kube - deployer - production only: - /^[0-9]+\.[0-9]+\.[0-9]+$/ except: - branches - triggers when: manual environment: name: production # url: https://$PROJECT_BUILDNAME.azzurroservice.it/ script: - echo "Updating image version" - kubectl set image deployments $KUBE_DEPLOYMENT_NAME $KUBE_CONTAINER_NAME="$REPO_URI:$CI_COMMIT_TAG" - echo "Checking status" - kubectl rollout status deployments $KUBE_CONTAINER_NAME