deploy: stage: publish needs: ['build'] script: - pnpm install - pnpm run deploy artifacts: paths: - ./.deploy rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" when: manual - if: $CI_COMMIT_TAG publish images: stage: publish inherit: default: - tags needs: ['deploy'] image: name: gcr.io/kaniko-project/executor:v1.9.0-debug entrypoint: [""] script: - /kaniko/executor --context "${CI_PROJECT_DIR}/${DEPLOY_DIR}" --dockerfile "${CI_PROJECT_DIR}/${DEPLOY_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${DOCKER_TAG}" rules: - if: $CI_COMMIT_TAG variables: DOCKER_TAG: $CI_COMMIT_TAG - if: $CI_PIPELINE_SOURCE == "merge_request_event" variables: DOCKER_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME parallel: matrix: - DEPLOY_DIR: backend/database IMAGE_NAME: database - DEPLOY_DIR: .deploy/backend IMAGE_NAME: backend - DEPLOY_DIR: .deploy/proxy IMAGE_NAME: proxy publish: stage: publish needs: ['deploy'] script: - pnpm install --prefer-offline - pnpm build - pnpm changeset version $PUBLISH_TYPE - pnpm changeset publish rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" variables: PUBLISH_TYPE: --snapshot $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME pages:docs: stage: publish needs: ['deploy'] script: - pnpm install --prefer-offline - pnpm run docs - mv docs public artifacts: paths: - public rules: - if: $CI_COMMIT_TAG when: on_success