diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e6511c5 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,57 @@ +stages: + - build + +variables: + HARBOR_REGISTRY: harbor-in-k3s.cheverjohn.me + HARBOR_PROJECT: iloom + DOCKER_TLS_CERTDIR: "/certs" + +.build-template: &build-template + stage: build + image: docker:27 + services: + - docker:27-dind + before_script: + - echo "$HARBOR_PASSWORD" | docker login $HARBOR_REGISTRY -u "$HARBOR_USER" --password-stdin + script: + - | + if [ -n "$CI_COMMIT_TAG" ]; then + TAG="$CI_COMMIT_TAG" + else + TAG="main-${CI_COMMIT_SHORT_SHA}" + fi + - docker build -t $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG -f $DOCKERFILE_PATH . + - docker push $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG + rules: + - if: $CI_COMMIT_BRANCH == "main" + - if: $CI_COMMIT_TAG =~ /^v/ + +build-gateway: + <<: *build-template + variables: + IMAGE_NAME: iloom-gateway + DOCKERFILE_PATH: gateway/Dockerfile + +build-auth-service: + <<: *build-template + variables: + IMAGE_NAME: iloom-auth-service + DOCKERFILE_PATH: auth-service/Dockerfile + +build-purchaser-service: + <<: *build-template + variables: + IMAGE_NAME: iloom-purchaser-service + DOCKERFILE_PATH: purchaser-service/Dockerfile + +build-textile-service: + <<: *build-template + variables: + IMAGE_NAME: iloom-textile-service + DOCKERFILE_PATH: textile-service/Dockerfile + +build-washing-service: + <<: *build-template + variables: + IMAGE_NAME: iloom-washing-service + DOCKERFILE_PATH: washing-service/Dockerfile