0

私の「問題」は、リモートの docker マシンで ci を実行すると、gitlab-runner がそこで使用されているコンテナーを削除せずに残してしまうことです。もう 1 つは、ボリューム フォルダーに表示すると、プロジェクト ソースも表示されることです。

コンテナとプロジェクトのソースがci-pipelineの実行後に削除されるという、変更方法を誰かが考えているでしょうか?

よろしく、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

これが私の現在の構成です。

4

1 に答える 1