diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c16665a..c27ed4e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ image: continuumio/miniconda:latest stages: - test - build + - deploy variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" @@ -38,14 +39,21 @@ build-book: before_script: - docker info script: - - docker build -t $TAG_LATEST + - docker build -t $TAG_LATEST . - docker push $TAG_LATEST + - docker image prune -f deploy-book: stage: deploy image: docker rules: - if: $CI_COMMIT_BRANCH == "publish" && $CI_PIPELINE_SOURCE == "push" + before_script: + - docker info + - docker stop $CI_PROJECT_NAME || exit_code=$? + - if [ $exit_code -ne 0 ]; then echo "Container $CI_PROJECT_NAME not found, cannot stop"; else docker rm $CI_PROJECT_NAME; fi script: - - docker compose -f /etc/web_server/docker-compose.yml pull - - docker compose -f /etc/web_server/docker-compose.yml up -d --no-deps manual \ No newline at end of file + - docker run -d --restart always -p 8000:8000 --name $CI_PROJECT_NAME $TAG_LATEST + environment: + name: production + url: https://interactivetextbooks.citg.tudelft.nl/$CI_PROJECT_NAME \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 65563bf..3e837c6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,4 +5,4 @@ RUN apt-get update && apt-get -y install git gcc COPY requirements.txt requirements.txt RUN pip install -r requirements.txt RUN jupyter book build . -ENTRYPOINT [ "python", "-m", "http.server", "8000", "--directory", "_build/html" ] \ No newline at end of file +ENTRYPOINT [ "python", "-m", "http.server", "8000", "--directory", "/book/_build/html" ] \ No newline at end of file