50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
name: Deployment
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
container:
|
|
runs-on: docker
|
|
container: catthehacker/ubuntu:act-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Kaniko
|
|
uses: https://codeberg.org/umglurf/kaniko-action@main
|
|
with:
|
|
credentials: |
|
|
https://index.docker.io/v1/=${{ secrets.DOCKER_USER }}:${{ secrets.DOCKER_PASSWORD }}
|
|
destinations: |
|
|
docker.io/fleaz/shippinglabel:latest
|
|
push: true
|
|
helm:
|
|
needs:
|
|
- container
|
|
runs-on: docker
|
|
container: catthehacker/ubuntu:act-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install kubectl
|
|
run: |
|
|
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
|
mv kubectl /usr/bin/kubectl
|
|
- name: Install helm
|
|
run: |
|
|
cd /tmp
|
|
curl -L "https://get.helm.sh/helm-v3.18.0-rc.2-linux-amd64.tar.gz" -o helm.tgz
|
|
tar xf helm.tgz
|
|
mv liux-amd64/helm /usr/bin/helm
|
|
- name: Setup k8s context
|
|
run: |
|
|
echo "${{secrets.KUBE_API_CRT}}" > /tmp/ca.pem
|
|
kubectl config set-cluster k3s --server=${{secrets.KUBE_HOST}}3 --certificate-authority=/tmp/ca.pem
|
|
kubectl config set-credentials forgejo --token="${{secrets.KUBE_API_TOKEN}}"
|
|
kubectl config set-context k3s --cluster k3s --user forgejo --namespace default
|
|
kubectl config use-context k3s
|
|
- name: "Deploy"
|
|
run: |
|
|
cd chart
|
|
helm upgrade --install versandlabel .
|