98 lines
2.3 KiB
YAML
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 LiteCharmsScheduler.slnx
|
|
- dotnet build LiteCharmsScheduler.slnx -c Release
|
|
|
|
- name: dotnet-test
|
|
image: mcr.microsoft.com/dotnet/sdk:10.0
|
|
commands:
|
|
- dotnet restore LiteCharmsScheduler.slnx
|
|
- dotnet test LiteCharmsScheduler.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-scheduler
|
|
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/scheduler.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-scheduler-uat.yml
|
|
- kubectl rollout restart deployment/litecharms-scheduler -n litecharms-scheduler-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-scheduler.yml
|
|
- kubectl rollout restart shop/deployment/litecharms-scheduler -n litecharms-scheduler
|
|
|
|
depends_on:
|
|
- uat
|
|
|
|
trigger:
|
|
event: [ promote ]
|
|
target: [ production ] |