35 lines
1.5 KiB
YAML
35 lines
1.5 KiB
YAML
precommit:
|
|
stage: test
|
|
image: python:3.12-bookworm
|
|
before_script:
|
|
- apt-get update && apt-get install -y --no-install-recommends git
|
|
script:
|
|
- pip install -r requirements.precommit.txt
|
|
- pre-commit run --all-files
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
|
|
build:
|
|
stage: build
|
|
tags:
|
|
- docker-build
|
|
script:
|
|
- echo "$ZEVARYX_REGISTRY_PASSWORD" | docker login -u "$ZEVARYX_REGISTRY_USERNAME" --password-stdin "$ZEVARYX_REGISTRY_URL"
|
|
- if [ "$CI_COMMIT_BRANCH" == "main" ]; then TAG="stable"; elif [ "$CI_COMMIT_BRANCH" == "dev" ]; then TAG="latest"; else TAG="${CI_COMMIT_BRANCH}"; fi
|
|
- docker build -t $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$TAG -t zevaryx/$CI_PROJECT_NAME:$TAG .
|
|
- docker push $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$TAG
|
|
- echo "$DOCKERHUB_REGISTRY_PASSWORD" | docker login -u "$DOCKERHUB_REGISTRY_USERNAME" --password-stdin
|
|
- docker push zevaryx/$CI_PROJECT_NAME:$TAG
|
|
|
|
release:
|
|
stage: build
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
tags:
|
|
- docker-build
|
|
script:
|
|
- echo "$ZEVARYX_REGISTRY_PASSWORD" | docker login -u "$ZEVARYX_REGISTRY_USERNAME" --password-stdin "$ZEVARYX_REGISTRY_URL"
|
|
- docker build -t $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$CI_COMMIT_TAG -t zevaryx/$CI_PROJECT_NAME:$CI_COMMIT_TAG .
|
|
- docker push $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$CI_COMMIT_TAG
|
|
- echo "$DOCKERHUB_REGISTRY_PASSWORD" | docker login -u "$DOCKERHUB_REGISTRY_USERNAME" --password-stdin
|
|
- docker push zevaryx/$CI_PROJECT_NAME:$CI_COMMIT_TAG
|