--- kind: pipeline type: docker name: build steps: - name: dotnet-build image: mcr.microsoft.com/dotnet/sdk:10.0 commands: - dotnet restore LiteCharmsShop.slnx - dotnet build LiteCharmsShop.slnx -c Release - name: dotnet-test image: mcr.microsoft.com/dotnet/sdk:10.0 commands: - dotnet restore LiteCharmsShop.slnx - dotnet test LiteCharmsShop.slnx -c Release --no-restore trigger: event: [ pull_request ] --- kind: pipeline type: docker name: package steps: - name: docker-build image: plugins/docker settings: registry: nexus.khongisa.co.za repo: nexus.khongisa.co.za/litecharms-shop tags: [ latest, "1.${DRONE_BUILD_NUMBER}" ] username: { from_secret: docker_username } password: { from_secret: docker_password } - name: gitea-tag image: alpine/git environment: GITEA_USER: { from_secret: git_username } GITEA_PASS: { from_secret: git_password } commands: - git config --global user.email "drone@litecharms.co.za" - git config --global user.name "Drone CI" - git remote set-url origin https://$${GITEA_USER}:$${GITEA_PASS}@gitea.khongisa.co.za/litecharms/litecharmsshop.git - git tag 1.${DRONE_BUILD_NUMBER} - git push origin 1.${DRONE_BUILD_NUMBER} depends_on: - build trigger: event: [ pull_request ] --- kind: pipeline type: docker name: uat steps: - name: deploy image: bitnami/kubectl:latest environment: KUBE_CONFIG: { from_secret: kube_config } commands: - mkdir -p $HOME/.kube - echo "$KUBE_CONFIG" > $HOME/.kube/config - kubectl apply -f litecharms-shop-uat.yml - kubectl rollout restart deployment/litecharms-shop -n litecharms-shop-uat depends_on: - package trigger: event: [ pull_request ] --- kind: pipeline type: docker name: prod steps: - name: deploy image: bitnami/kubectl:latest environment: KUBE_CONFIG: { from_secret: kube_config } commands: - mkdir -p $HOME/.kube - echo "$KUBE_CONFIG" > $HOME/.kube/config - kubectl apply -f litecharms-shop.yml - kubectl rollout restart shop/deployment/litecharms-shop -n litecharms-shop depends_on: - uat trigger: event: [ promote ] target: [ production ]