From 1f4bb3aaec1d7c677ceaefc5cb6d57d6dab673f4 Mon Sep 17 00:00:00 2001 From: ITQ Date: Sat, 1 Mar 2025 00:30:37 +0300 Subject: [PATCH] feat: added build and push pipeline --- .gitlab-ci.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..7c3e5c4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +stages: + - build + - trigger + +variables: + DOCKER_TLS_CERTDIR: /certs + FRONTEND_IMAGE: $CI_REGISTRY_IMAGE/frontend + BACKEND_IMAGE: $CI_REGISTRY_IMAGE/backend + +build_images: + stage: build + image: docker:27.5.1 + services: + - docker:dind + rules: + - if: $CI_COMMIT_REF_NAME == "master" + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + + - | + docker buildx build \ + -t $FRONTEND_IMAGE:$CI_COMMIT_SHORT_SHA \ + -t $FRONTEND_IMAGE:latest \ + -f ./services/frontend/Dockerfile \ + --push . + + - | + docker buildx build \ + -t $BACKEND_IMAGE:$CI_COMMIT_SHORT_SHA \ + -t $BACKEND_IMAGE:latest \ + -f ./services/backend/Dockerfile \ + --push . + +trigger_deployment: + stage: trigger + image: curlimages/curl:8.5.0 + rules: + - if: $CI_COMMIT_REF_NAME == "master" + script: + - | + curl --request POST \ + --header "PRIVATE-TOKEN: prod-16cwBKYHzqqZaRzywCCG" \ + --form "variables[FRONTEND_TAG]=$CI_COMMIT_SHORT_SHA" \ + --form "variables[BACKEND_TAG]=$CI_COMMIT_SHORT_SHA" \ + "https://gitlab.com/api/v4/projects/289/trigger/pipeline"