Quickstart
Deploy your service
Please constraint from deploying a frontend
In most scenarios, running a single pod is enough for your service.
-
Get your kubeconfig
- Go to https://rancher.sau-portal.de/dashboard/c/local/
- Copy the kubeconfig of your team to your clipboard
-
Go to your repository → Settings → Secrets and variables → Actions→ New repository secret
- Name the secret
KUBECONFIG
- Paste your kubeconfig into the secret
- Create the secret
- Name the secret
-
Go to your repository → Settings → Secrets and variables → Actions → Variables → New repository variable
- Name the variables
K8S_NAMESPACE
- Your namespace is
ase-<YOUR-TEAMNUMBER>
- Name the variables
-
Create a docker image that serves your application
The docker image depends on your application. Have a look into the examples or create one on your own. -
Create a kustomize configuration in a
k8s
directory in the root of your project
The configuration again depends on your application. Have a look into the examples or create on your own.cautionIf you want to add a ingress to your configuration to make the application accessible over the internet you will need to set the ingress path to
/ase-<YOUR-TEAMNUMBER>/<SERVICE-NAME>/
and add tls configuration on your own. (Might now even work currently) The ingress base path for each team will and tls configuration will be set automatically in the future. -
Create a
.github/workflows
directory in the root of your project -
Create a
deploy-application.yaml
file in the directory and paste this into it:
name: deploy-to-k8s
on:
push:
jobs:
test-action:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v5
- name: Upload image
uses: Agile-Software-Engineering-25/build-and-publish-image@v1
- name: Deploy to Namespace
uses: Agile-Software-Engineering-25/deploy-to-k8s@v1
with:
kubeconfig: ${{ secrets.KUBECONFIG }}
namespace: ${{ vars.K8S_NAMESPACE }}
- Your application should now be deployed :D
Look into the namespace of your team: https://rancher.sau-portal.de/dashboard/c/local/explorer/projectsnamespaces