Files
skel-worker/sample.gitlab-ci.yml
T

101 lines
2.4 KiB
YAML

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