From c726a3f6c3ad344107739a109c1842f87a16776c Mon Sep 17 00:00:00 2001 From: Neshura Date: Fri, 9 Dec 2022 22:16:01 +0100 Subject: [PATCH] Copied CI/CD from neshura-websites/readyornot --- .gitlab-ci.yml | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e8e1c18 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,65 @@ +stages: + - lint + #- test + - build + - deploy + +variables: + IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG + IMAGE_LATEST: $CI_REGISTRY_IMAGE:develop + + +.node: + image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/node:latest + + +.docker: + image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:20 + rules: + - if: $CI_COMMIT_TAG && $CI_COMMIT_TAG !~ /(^t)+.*/ + variables: + IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest + - if: $CI_COMMIT_TAG + + +linter: + image: !reference [.node, image] + stage: lint + before_script: + - yarn install + script: + - yarn lint + + +build: + image: !reference [.docker, image] + stage: build + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker build -t $IMAGE_TAG . + after_script: + - docker save $IMAGE_TAG > docker.tar + artifacts: + expire_in: 30 mins + paths: + - docker.tar + rules: + - !reference [.docker, rules] + + +push: + image: !reference [.docker, image] + stage: deploy + needs: + - job: build + artifacts: true + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker load -i docker.tar + script: + - docker tag $IMAGE_TAG $IMAGE_LATEST + - docker push $IMAGE_TAG + - docker push $IMAGE_LATEST + rules: + - !reference [.docker, rules]