61 lines
1.3 KiB
YAML
61 lines
1.3 KiB
YAML
|
---
|
||
|
.use-python:
|
||
|
image: python:3.7.6-slim-buster
|
||
|
|
||
|
.playbook-docker-vars:
|
||
|
variables:
|
||
|
DOCKERFILE: "Dockerfile"
|
||
|
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/playbook
|
||
|
IMAGE_TAG: ${CI_COMMIT_REF_NAME}
|
||
|
|
||
|
.playbook-docker-test-rules:
|
||
|
rules:
|
||
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||
|
changes:
|
||
|
- "Dockerfile"
|
||
|
when: always
|
||
|
|
||
|
test:playbook:dockerfile-lint:
|
||
|
extends:
|
||
|
- .dockerfile-lint
|
||
|
- .playbook-docker-vars
|
||
|
- .playbook-docker-test-rules
|
||
|
|
||
|
test:playbook:docker-build:
|
||
|
extends:
|
||
|
- .dockerbuild-test
|
||
|
- .playbook-docker-vars
|
||
|
- .playbook-docker-test-rules
|
||
|
script:
|
||
|
- export IMAGE_DATE=$(date -Iseconds)
|
||
|
- export BUILD_ARGS="--build-arg BUILD_TAG=${IMAGE_TAG} --build-arg BUILD_TIME=${IMAGE_DATE}"
|
||
|
- make image
|
||
|
|
||
|
test:playbook:custom-modules:
|
||
|
stage: test
|
||
|
extends: .use-python
|
||
|
before_script:
|
||
|
- apt-get update && apt-get install make
|
||
|
- pip install ansible==2.9.7
|
||
|
script:
|
||
|
- make test_modules_unit
|
||
|
only:
|
||
|
refs:
|
||
|
- merge_requests
|
||
|
changes:
|
||
|
- library/*
|
||
|
except:
|
||
|
refs:
|
||
|
- master
|
||
|
|
||
|
publish:playbook:docker-image:
|
||
|
extends:
|
||
|
- .docker-publish
|
||
|
- .playbook-docker-vars
|
||
|
script:
|
||
|
- export IMAGE_DATE=$(date -Iseconds)
|
||
|
- export BUILD_ARGS="--build-arg BUILD_TAG=${IMAGE_TAG} --build-arg BUILD_TIME=${IMAGE_DATE}"
|
||
|
- make publish
|
||
|
only:
|
||
|
- /^v[0-9]+(.[0-9]+){2}$/
|