Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1020 B
Newer Older
Matthieu Boileau's avatar
Matthieu Boileau committed
stages:
  - build
  - test
Matthieu Boileau's avatar
Matthieu Boileau committed
  - release
Matthieu Boileau's avatar
Matthieu Boileau committed
variables:
Matthieu Boileau's avatar
Matthieu Boileau committed
  CONTAINER_TEST_IMAGE: boileaum/rosen:$CI_COMMIT_REF_NAME
  CONTAINER_RELEASE_IMAGE: boileaum/rosen:latest
Matthieu Boileau's avatar
Matthieu Boileau committed

before_script:
Matthieu Boileau's avatar
Matthieu Boileau committed
  - echo $DOCKERHUB_PASSWD | docker login -u boileaum --password-stdin
Matthieu Boileau's avatar
Matthieu Boileau committed

Matthieu Boileau's avatar
Matthieu Boileau committed
b:docker:
  stage: build
  tags:
    - shell, docker
  script:
Matthieu Boileau's avatar
Matthieu Boileau committed
    - docker build --pull -t $CONTAINER_TEST_IMAGE -f ./docker/Dockerfile-rosen .
    - docker push $CONTAINER_TEST_IMAGE
Matthieu Boileau's avatar
Matthieu Boileau committed
t:helloworld:
  stage: test
  tags:
    - shell, docker
  script:
    - docker pull $CONTAINER_TEST_IMAGE
    - docker run $CONTAINER_TEST_IMAGE /bin/bash -c 'python test_helloworld.py'

t:rosen:
Matthieu Boileau's avatar
Matthieu Boileau committed
  stage: test
  tags:
    - shell, docker
  script:
Matthieu Boileau's avatar
Matthieu Boileau committed
    - docker pull $CONTAINER_TEST_IMAGE
    - docker run $CONTAINER_TEST_IMAGE /bin/bash -c 'pytest -v'
Matthieu Boileau's avatar
Matthieu Boileau committed
r:docker:
  stage: release
  tags:
    - shell, docker
  script:
    - docker pull $CONTAINER_TEST_IMAGE
    - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
    - docker push $CONTAINER_RELEASE_IMAGE
  only:
    - master