АК
Size: a a a
АК
ММ
АК
АК
ММ
АК
ММ
АК
ММ
АК
АК
ММ
АК
АК
stages:
- get_info
- build
- test
variables:
BASE_IMAGE_NAME: $CI_REGISTRY_IMAGE:BASE
get lock hash:
stage: get_info
variables:
GET_HASH_COMMAND: jq -r '.["_meta"]["hash"]["sha256"]' Pipfile.lock
script:
- echo 'HASH_DEPENDENCIES=$(eval "$GET_HASH_COMMAND")' > hash.env
artifacts:
reports:
dotenv: hash.env
build:
stage: build
image: docker:stable
services:
- docker:dind
variables:
DOCKER_BUILDKIT: 1
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -t $BASE_IMAGE_NAME-$HASH_DEPENDENCIES -f Dockerfile . --target BASE
- docker push $BASE_IMAGE_NAME-$HASH_DEPENDENCIES
only:
changes:
- Pipfile.lock
test:
stage: test
image: $BASE_IMAGE_NAME-$HASH_DEPENDENCIES
script:
- env
- pre-commit run -a
- pytest --cov
- coverage xml
dependencies:
- get lock hash
artifacts:
reports:
cobertura: coverage.xml
АК
ММ
ММ
ММ
АК
АК