Моя "проблема" заключается в том, что когда я запускаю свой ci на моей удаленной док-машине, gitlab-runner покидает контейнер, который использовался там, без их удаления. Другое дело, что источники проекта также указываются при отображении в папке томов.
Может быть, у кого-то есть идеи, как я могу это изменить, что после запуска ci-pipe будут удалены контейнеры и исходные тексты проекта?
С наилучшими пожеланиями,
Crush
stages:
- Build
- Testing
- Execute
- Publish
- CleanUp
build_cleanup:
only:
- master
stage: Build
script:
- "dotnet clean"
- (if [ $(docker ps -a | grep $CONTAINER_NAME | cut -d " " -f1) ]; then echo $(docker rm -f $CONTAINER_NAME); else echo OK; fi;);
- (if [ $(docker volume ls -qf dangling=true) ]; then echo $(docker volume prune -f); else echo OK; fi;);
when: on_failure
testing_cleanup:
only:
- master
stage: Testing
script:
- "dotnet clean"
- (if [ $(docker ps -a | grep $CONTAINER_NAME | cut -d " " -f1) ]; then echo $(docker rm -f $CONTAINER_NAME); else echo OK; fi;);
- (if [ $(docker volume ls -qf dangling=true) ]; then echo $(docker volume prune -f); else echo OK; fi;);
when: on_failure
excecute_cleanup:
only:
- master
stage: Execute
script:
- "dotnet clean"
- (if [ $(docker ps -a | grep $CONTAINER_NAME | cut -d " " -f1) ]; then echo $(docker rm -f $CONTAINER_NAME); else echo OK; fi;);
- (if [ $(docker volume ls -qf dangling=true) ]; then echo $(docker volume prune -f); else echo OK; fi;);
when: on_failure
publish_cleanup:
only:
- master
stage: Publish
script:
- "dotnet clean"
- (if [ $(docker ps -a | grep $CONTAINER_NAME | cut -d " " -f1) ]; then echo $(docker rm -f $CONTAINER_NAME); else echo OK; fi;);
- (if [ $(docker volume ls -qf dangling=true) ]; then echo $(docker volume prune -f); else echo OK; fi;);
when: on_failure
cleanup_jobs:
only:
- master
stage: CleanUp
script:
- "dotnet clean"
- (if [ $(docker ps -a | grep $CONTAINER_NAME | cut -d " " -f1) ]; then echo $(docker rm -f $CONTAINER_NAME); else echo OK; fi;);
- (if [ $(docker volume ls -qf dangling=true) ]; then echo $(docker volume prune -f); else echo OK; fi;);
when: always
Это моя текущая конфигурация.