diff --git a/.gcp-deploy.yml b/.gcp-deploy.yml deleted file mode 100644 index fa0de3c45a2c3cde08bf946ebb737c7506f32585..0000000000000000000000000000000000000000 --- a/.gcp-deploy.yml +++ /dev/null @@ -1,13 +0,0 @@ -.gcp_deploy: - image: shomika17/gcloud-kubectl-kustomize:latest - before_script: - - echo "$SERVICE_ACCOUNT_CREDENTIALS" > key.json - - gcloud auth activate-service-account --key-file=key.json - - gcloud config set project $PROJECT - - gcloud config set container/cluster $CLUSTER - - gcloud config set compute/zone $ZONE - - gcloud container clusters get-credentials $CLUSTER --zone $ZONE - script: - - cd k8s/$APP/overlays/$OVERLAY/ - - kustomize edit set image $CI_REGISTRY_IMAGE=$NEW_IMAGE - - kustomize build . | kubectl apply -f - diff --git a/.gcp-k8s-diff.yml b/.gcp-k8s-diff.yml deleted file mode 100644 index 202e295f6b14efa7a541a708b16e42ede28aa59c..0000000000000000000000000000000000000000 --- a/.gcp-k8s-diff.yml +++ /dev/null @@ -1,15 +0,0 @@ -.gcp_k8s_diff: - image: shomika17/gcloud-kubectl-kustomize:latest - before_script: - - echo "$SERVICE_ACCOUNT_CREDENTIALS" > key.json - - gcloud auth activate-service-account --key-file=key.json - - gcloud config set project $PROJECT - - gcloud config set container/cluster $CLUSTER - - gcloud config set compute/zone $ZONE - - gcloud container clusters get-credentials $CLUSTER --zone $ZONE - script: - - cd k8s/$APP/overlays/$OVERLAY/ - - kustomize build . | kubectl diff -f - | colordiff || true - - echo -e "\e[32mATTEMPTING A DRY RUN TO SEE IF YOUR K8S CONFIG IS VALID\e[0m" - - kustomize build . | kubectl apply --dry-run -f - || echo -e "\e[31mWHOOPS! SEEMS YOU HAVE MISCONFIGURED SOMETHING. WHY DON'T YOU FIX IT AND TRY AGAIN?\e[0m" - - echo -e "\e[32mSUCCESS! You have a valid k8s config :)\e[0m" diff --git a/base/docker.yml b/base/docker.yml new file mode 100644 index 0000000000000000000000000000000000000000..27fa328aa43433a51fbe861a4661d1d76fbf1f94 --- /dev/null +++ b/base/docker.yml @@ -0,0 +1,20 @@ +variables: + IMAGE_COMMIT: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + +before_script: + - which docker && docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN $CI_REGISTRY || true + +image: docker:19.03 + +.docker_build: + variables: + DOCKER_BUILD_EXTRA_ARGS: "" + script: + - docker build -t $IMAGE_COMMIT $DOCKER_BUILD_EXTRA_ARGS . + - docker push $IMAGE_COMMIT + +.docker_release: + script: + - docker pull $IMAGE_COMMIT + - docker tag $IMAGE_COMMIT $NEW_IMAGE + - docker push $NEW_IMAGE diff --git a/.gcp-k8s-auth.yml b/base/gcp-k8s-auth.yml similarity index 100% rename from .gcp-k8s-auth.yml rename to base/gcp-k8s-auth.yml diff --git a/mixins/deploy/gcp-deploy.yml b/mixins/deploy/gcp-deploy.yml new file mode 100644 index 0000000000000000000000000000000000000000..ebc670b6e25467ccb2e0b5b37a0bf0a202cea976 --- /dev/null +++ b/mixins/deploy/gcp-deploy.yml @@ -0,0 +1,11 @@ +include: + - local: '/base/gcp-k8s-auth.yml' + +.gcp_deploy: + extends: .gcp_k8s_auth + stage: deploy + script: + - cd k8s/$APP/overlays/$OVERLAY/ + - kustomize edit set image $CI_REGISTRY_IMAGE=$NEW_IMAGE + - kustomize build . | kubectl apply -f - + allow_failure: false diff --git a/mixins/release/docker-release.yml b/mixins/release/docker-release.yml new file mode 100644 index 0000000000000000000000000000000000000000..a015703d50ead7ac312a223e56d492a52aedf8a5 --- /dev/null +++ b/mixins/release/docker-release.yml @@ -0,0 +1,20 @@ +include: + - local: '/base/docker.yml' + +.release_tag: + extends: .docker_release + stage: release + variables: + NEW_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG + only: + - tags + +.release_latest: + extends: .docker_release + stage: release + variables: + NEW_IMAGE: $CI_REGISTRY_IMAGE:latest + except: + - tags + only: + - master \ No newline at end of file diff --git a/mixins/test/gcp-k8s-diff.yml b/mixins/test/gcp-k8s-diff.yml new file mode 100644 index 0000000000000000000000000000000000000000..2261b46ccef0ab98f6287fc35f85bbd3d895a606 --- /dev/null +++ b/mixins/test/gcp-k8s-diff.yml @@ -0,0 +1,18 @@ + +include: + - local: '/base/gcp-k8s-auth.yml' + +.gcp_k8s_diff: + extends: .gcp_k8s_auth + script: + - cd k8s/$APP/overlays/$OVERLAY/ + - | + echo -e "\e[32m-------------------------------------------\e[0m" + echo -e "\e[32mATTEMPTING A DRY RUN TO SEE IF YOUR K8S CONFIG IS VALID\e[0m" + kustomize build . | kubectl apply --dry-run -f - || echo -e "\e[31mWHOOPS! SEEMS YOU HAVE MISCONFIGURED SOMETHING. WHY DON'T YOU FIX IT AND TRY AGAIN?\e[0m" || false + echo -e "\e[32mSUCCESS! You have a valid k8s config :)\e[0m" + echo -e "\e[32m-------------------------------------------\e[0m" + echo -e "\e[32m---------RUNNING DIFF ON YOUR CONFIG...----------\e[0m" + echo -e "\e[32m-------------------------------------------\e[0m" + - kustomize build . | kubectl diff -f - | colordiff || true +