mirror of
https://github.com/lucky-sideburn/kubeinvaders.git
synced 2026-02-14 17:50:00 +00:00
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
name: Docker Image CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ "master", "feat/pipeline-improvement" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
env:
|
|
IMAGE_TAG: ${{ github.event_name == 'push' && 'latest' || 'latest-pull-request' }}
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Login to registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ${{ vars.REGISTRY_ADDRESS }}
|
|
username: ${{ secrets.REGISTRY_ROBOT_USERNAME }}
|
|
password: ${{ secrets.REGISTRY_ROBOT_PASSWORD }}
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Lint helm chart
|
|
run: helm lint helm-charts/kubeinvaders
|
|
|
|
- name: Build the Docker image
|
|
run: |
|
|
docker build . --file Dockerfile --tag ${{ vars.REGISTRY_ADDRESS }}/${{ vars.REGISTRY_USERNAME }}/kubeinvaders:${{ env.IMAGE_TAG }}
|
|
docker push ${{ vars.REGISTRY_ADDRESS }}/${{ vars.REGISTRY_USERNAME }}/kubeinvaders:${{ env.IMAGE_TAG }}
|
|
|
|
- name: Start minikube
|
|
uses: medyagh/setup-minikube@latest
|
|
with:
|
|
driver: docker
|
|
kubernetes-version: v1.26.3
|
|
cpus: 4
|
|
memory: 2000m
|
|
|
|
- name: Try the cluster!
|
|
run: kubectl get pods -A
|
|
|
|
- name: Deploy example
|
|
run: |
|
|
kubectl apply -f minikube-setup/manifests --wait=true
|
|
kubectl get all -n "ns-1"
|
|
|
|
- name: Deploy with helm
|
|
run: |
|
|
helm upgrade --install \
|
|
--atomic \
|
|
kubeinvaders \
|
|
-n kubeinvaders \
|
|
--create-namespace \
|
|
helm-charts/kubeinvaders \
|
|
--set ingress.enabled=true \
|
|
--set ingress.hostName=kubeinvaders.local \
|
|
--set-string config.target_namespace="ns-1" \
|
|
--set deployment.image.tag=${{ env.IMAGE_TAG }} \
|
|
--set deployment.image.repository=${{ vars.REGISTRY_ADDRESS }}/${{ vars.REGISTRY_USERNAME }}/kubeinvaders
|
|
|
|
- name: Helm test
|
|
run: |
|
|
kubectl get all -n kubeinvaders
|
|
helm test kubeinvaders -n kubeinvaders
|
|
|
|
|