Files
litecharmsshop/.drone.yml
T

98 lines
2.3 KiB
YAML

---
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-uat -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 ]