31 lines
1.0 KiB
YAML
31 lines
1.0 KiB
YAML
deploy-to-k3s:
|
|
needs: build-scan-and-push-image
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repository
|
|
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"
|
|
chmod +x kubectl
|
|
sudo mv kubectl /usr/local/bin/kubectl
|
|
kubectl version --client
|
|
|
|
- name: Configure kubeconfig
|
|
run: |
|
|
mkdir -p ~/.kube
|
|
echo "${{ secrets.KUBECONFIG_B64 }}" | base64 -d > ~/.kube/config
|
|
chmod 600 ~/.kube/config
|
|
|
|
- name: Render manifest with image tag
|
|
run: |
|
|
sed "s|image: .*|image: ${IMAGE_NAME}:${{ needs.build-scan-and-push-image.outputs.image_tag }}|g" arcade.yaml > rendered-arcade.yaml
|
|
|
|
- name: Apply Kubernetes manifest
|
|
run: |
|
|
kubectl apply -f rendered-arcade.yaml
|
|
|
|
- name: Wait for rollout
|
|
run: |
|
|
kubectl -n devsecops rollout status deployment/arcade --timeout=180s |