kind: pipeline type: docker name: build-and-run-python trigger: branch: include: - master event: include: - push - custom - merge_request steps: - name: build python image image: docker volumes: - name: dockersock path: /var/run/docker.sock commands: - echo "=== BUILD STAGE PWD ===" - pwd - ls -l - docker build -t alert-python:latest -f Dockerfile . - name: run python container image: docker volumes: - name: dockersock path: /var/run/docker.sock commands: - echo "=== RUN STAGE PWD ===" - pwd - ls -l # 确保 config.py 一定是文件(避免被误识别为目录) - test -f $(pwd)/config.py || (echo "config.py not found" && exit 1) - docker stop alert-python || true - docker rm alert-python || true - docker run -d --restart always \ --name alert-python \ --network alert-net \ -p 8082:8082 \ -v $(pwd)/config.py:/opt/alert/model-lab/config.py:ro \ -v $(pwd)/config.py:/app/config.py:ro \ alert-python:latest volumes: - name: dockersock host: path: /var/run/docker.sock