2024-07-02 15:37:59 +02:00
|
|
|
---
|
|
|
|
|
|
|
|
# generic
|
|
|
|
name: 'Build and Publish'
|
|
|
|
on:
|
2024-10-09 15:20:17 +02:00
|
|
|
schedule:
|
|
|
|
- '30 8 * * sun'
|
2024-07-02 15:37:59 +02:00
|
|
|
push:
|
|
|
|
branches:
|
2024-07-25 09:32:54 +02:00
|
|
|
- 'main'
|
2024-07-02 15:37:59 +02:00
|
|
|
|
|
|
|
# jobs
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
# build container
|
2024-07-04 16:09:05 +02:00
|
|
|
Build:
|
2024-07-02 15:37:59 +02:00
|
|
|
runs-on: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
|
|
|
|
# checkout code
|
|
|
|
- name: 'Clone repo'
|
|
|
|
uses: 'actions/checkout@v2'
|
|
|
|
|
|
|
|
# login to cr.simoncor.net
|
|
|
|
- name: 'Login to cr.simoncor.net'
|
|
|
|
uses: 'docker/login-action@v2'
|
|
|
|
with:
|
|
|
|
registry: 'cr.simoncor.net'
|
|
|
|
username: ${{ vars.REGISTER_USERNAME }}
|
|
|
|
password: ${{ vars.REGISTER_PASSWORD }}
|
|
|
|
|
|
|
|
# build and publish container
|
|
|
|
- name: 'Build and Publish'
|
|
|
|
uses: 'docker/build-push-action@v3'
|
|
|
|
with:
|
|
|
|
context: '.'
|
|
|
|
file: 'Dockerfile.linux.amd64'
|
|
|
|
push: true
|
2024-09-06 13:54:21 +02:00
|
|
|
tags: 'cr.simoncor.net/siempie/start-simoncor-net:latest,cr.simoncor.net/siempie/start-simoncor-net:${{ gitea.sha }}'
|
2024-07-02 15:37:59 +02:00
|
|
|
|
|
|
|
|
2024-09-06 13:56:46 +02:00
|
|
|
# kubernetes deployment
|
2024-07-04 16:09:05 +02:00
|
|
|
Deployment:
|
2024-07-02 15:37:59 +02:00
|
|
|
runs-on: 'ubuntu-latest'
|
2024-09-06 13:55:28 +02:00
|
|
|
needs: 'Build'
|
2024-07-02 15:37:59 +02:00
|
|
|
steps:
|
|
|
|
|
|
|
|
# name: Build
|
2024-09-06 13:56:46 +02:00
|
|
|
- name: 'Kubernetes deployment'
|
2024-07-02 15:37:59 +02:00
|
|
|
uses: 'appleboy/ssh-action@v1.0.3'
|
|
|
|
with:
|
|
|
|
|
|
|
|
# bastion
|
2024-09-06 13:56:46 +02:00
|
|
|
proxy_host: 'wireguard.do.siempie.com'
|
2024-07-02 15:37:59 +02:00
|
|
|
proxy_port: '22'
|
|
|
|
proxy_username: ${{ secrets.USERNAME }}
|
|
|
|
proxy_key: ${{ secrets.SSHKEY }}
|
|
|
|
|
2024-09-06 13:56:46 +02:00
|
|
|
# kubernetes management
|
|
|
|
host: 'mgmt01.infra.vpn.mirahsimon.us'
|
2024-07-02 15:37:59 +02:00
|
|
|
port: '22'
|
|
|
|
username: ${{ secrets.USERNAME }}
|
|
|
|
key: ${{ secrets.SSHKEY }}
|
|
|
|
|
|
|
|
# command
|
|
|
|
script: |
|
2024-09-06 13:54:21 +02:00
|
|
|
sudo -u simon kubectl apply -f /home/simon/Documents/kaas-start-simoncor-net/manifests
|
|
|
|
sudo -u simon kubectl rollout restart --namespace=start-simoncor-net deployment start-simoncor-net
|