stages: - build - release services: - docker:dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY build: image: docker:dind stage: build only: refs: - main - rc - beta - develop # This matches maintenance branches - /^(([0-9]+)\.)?([0-9]+)\.x/ # This matches pre-releases - /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/ script: - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:pipeline-$CI_PIPELINE_ID ./api - docker push $CI_REGISTRY/$CI_PROJECT_PATH:pipeline-$CI_PIPELINE_ID release: image: docker:dind stage: release only: refs: - main - rc - beta # This matches maintenance branches - /^(([0-9]+)\.)?([0-9]+)\.x/ # This matches pre-releases - /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/ script: - apk add --no-cache nodejs npm py3-pip python2 git - docker pull $CI_REGISTRY/$CI_PROJECT_PATH:pipeline-$CI_PIPELINE_ID - docker tag $CI_REGISTRY/$CI_PROJECT_PATH:pipeline-$CI_PIPELINE_ID gateway:latest - cd ./api - npm install @semantic-release/gitlab @semantic-release/changelog @eclass/semantic-release-docker - npx semantic-release