variables: COLON: ':' stages: - build - review - deploy build_pandoc: stage: build only: - branches tags: - development script: - pwd - sudo docker run --rm -v $(pwd):/source docker.rz.tu-harburg.de:5000/docker/pandoc4gitbook - mkdir -p book_pdf; sudo docker run --rm -v $(pwd):/source docker.rz.tu-harburg.de:5000/docker/pandoc .pandoc-config.yml book.md -o book_pdf/pandocbook.pdf --template=gitbook.latex --latex-engine=xelatex - sudo chown -R gitlab-runner:gitlab-runner $HOME artifacts: name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" paths: # Was hier nicht gelistet ist, landet auch nicht in der `review`-Phase - book_pdf build_gitbook: stage: build only: - branches tags: - development script: - pwd #- gitbook install #- gitbook build # Quick and dirty hack: The creation of the PDF document does not always work. This seems to be a bug. #- mkdir -p book_pdf; until gitbook pdf ./ ./book_pdf/book.pdf; do printf "$s\n" "failure, next try …"; done - sudo docker run --rm -v $(pwd):/source docker.rz.tu-harburg.de:5000/docker/gitbook install - sudo docker run --rm -v $(pwd):/source docker.rz.tu-harburg.de:5000/docker/gitbook build - mkdir -p book_pdf; sudo docker run --rm -v $(pwd):/source docker.rz.tu-harburg.de:5000/docker/gitbook pdf ./ ./book_pdf/book.pdf - sudo chown -R gitlab-runner:gitlab-runner $HOME artifacts: name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" paths: # Was hier nicht gelistet ist, landet auch nicht in der `review`-Phase - _book - book_pdf start_review: stage: review script: - sshpass -p "$SSH_PASSWD" ssh -p "$SSH_PORT" $SSH_USER@$HOST_NAME "mkdir -p /usr/share/nginx/html/review/$CI_COMMIT_REF_NAME" - sshpass -p "$SSH_PASSWD" scp -P "$SSH_PORT" -r _book/* $SSH_USER@$HOST_NAME:/usr/share/nginx/html/review/$CI_COMMIT_REF_NAME - sshpass -p "$SSH_PASSWD" scp -P "$SSH_PORT" -r book_pdf $SSH_USER@$HOST_NAME:/usr/share/nginx/html/review/${CI_COMMIT_REF_NAME} environment: name: review/$CI_COMMIT_REF_NAME url: http://$HOST_NAME$COLON$HTTP_PORT/review/$CI_COMMIT_REF_NAME/ #url: https://$PROXY_HOST_NAME/reviews/$CI_PROJECT_PATH/$CI_COMMIT_REF_NAME/ on_stop: stop_review only: - branches tags: - development except: - master stop_review: stage: review variables: GIT_STRATEGY: none script: - sshpass -p "$SSH_PASSWD" ssh -p "$SSH_PORT" $SSH_USER@$HOST_NAME "rm -rf /usr/share/nginx/html/review/$CI_COMMIT_REF_NAME" when: manual environment: name: review/$CI_COMMIT_REF_NAME action: stop only: - branches tags: - development except: - master deploy: stage: deploy only: - master tags: - production script: - sshpass -p "$SSH_PASSWD" ssh -p "$SSH_PORT" $SSH_USER@$HOST_NAME "mkdir -p /usr/share/nginx/html/production" - sshpass -p "$SSH_PASSWD" scp -P "$SSH_PORT" -r _book/* $SSH_USER@$HOST_NAME:/usr/share/nginx/html/production - sshpass -p "$SSH_PASSWD" scp -P "$SSH_PORT" -r book_pdf $SSH_USER@$HOST_NAME:/usr/share/nginx/html/production environment: name: production url: https://$PROXY_HOST_NAME/$CI_PROJECT_PATH/