38 lines
674 B
YAML
38 lines
674 B
YAML
image: docker:git
|
|
services:
|
|
- docker:dind
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- release
|
|
|
|
variables:
|
|
TEST_IMAGE: ${CI_REGISTRY_IMAGE}:$CI_BUILD_REF_NAME
|
|
RELEASE_IMAGE: ${CI_REGISTRY_IMAGE}:latest
|
|
|
|
before_script:
|
|
- echo $CI_BUILD_TOKEN | docker login -u gitlab-ci-token --password-stdin ${CI_REGISTRY}
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- docker build -t $TEST_IMAGE .
|
|
- docker push $TEST_IMAGE
|
|
|
|
test:
|
|
stage: test
|
|
script:
|
|
- docker run $TEST_IMAGE /test
|
|
|
|
release:
|
|
stage: release
|
|
script:
|
|
- echo Publishing ${RELEASE_IMAGE}
|
|
- docker pull $TEST_IMAGE
|
|
- docker tag $TEST_IMAGE $RELEASE_IMAGE
|
|
- docker push $RELEASE_IMAGE
|
|
only:
|
|
- master
|
|
- tags
|