# dotnet restore, build, test kind: pipeline type: docker name: build steps: - name: build image: mcr.microsoft.com/dotnet/sdk:9.0 commands: - dotnet build - name: test image: mcr.microsoft.com/dotnet/sdk:9.0 commands: - dotnet test depends_on: - build trigger: branch: - main event: - pull_request --- # docker build, push kind: pipeline type: docker name: package depends_on: - build steps: - name: docker-build image: plugins/docker privileged: true volumes: - name: webapitest-data path: /var/run/docker.sock commands: - docker build -t webapitest . - name: docker-push image: plugins/docker settings: insecure: true repo: 192.168.1.136:5000/webapitest tags: - latest - ${DRONE_BUILD_NUMBER} depends_on: - docker-build trigger: branch: - main event: - pull_request --- # deploy to PROD kind: pipeline type: docker name: deploy depends_on: - build steps: - name: deploy image: plugins/docker privileged: true settings: insecure: true volumes: - name: webapitest-data path: /var/run/docker.sock commands: - docker kill webapitest > /dev/null 2>&1 || true - docker rm webapitest > /dev/null 2>&1 || true - docker run -d --restart always --name webapitest -p 8080:8080 192.168.1.136:5000/webapitest:latest trigger: event: - promote target: - production