Rewrite deployment for forge.hornwitser.no
Replace docker with podman and kubernetes with the simple service webhook in the forgejo workflow to make this compatible with my new infrastructure.
This commit is contained in:
parent
399a4d2ca5
commit
4a9a8cec85
1 changed files with 23 additions and 44 deletions
|
@ -1,65 +1,44 @@
|
|||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
env:
|
||||
REGISTRY: forgejo.sbox.hornwitser.no
|
||||
REGISTRY_IMAGE: forgejo.sbox.hornwitser.no/furnavia/schedule-demo
|
||||
REGISTRY_IMAGE: ${{ vars.REGISTRY }}/${{ github.repository }}:${{ github.ref_name }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: forgejo.sbox.hornwitser.no/furnavia/builder:latest
|
||||
image: forge.hornwitser.no/public/builder:r2025.5.2
|
||||
steps:
|
||||
-
|
||||
name: Authenticate
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
registry: ${{ env.REGISTRY }}
|
||||
-
|
||||
name: Get commit info
|
||||
id: info
|
||||
shell: bash
|
||||
name: Authenticate with registry
|
||||
run: |
|
||||
tee -a ${GITHUB_OUTPUT} <<EOF
|
||||
DEPLOY_IMAGE=${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}
|
||||
DEPLOY_BRANCH=${{ github.ref_name }}
|
||||
EOF
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | podman login ${{ vars.REGISTRY }} --username runner --password-stdin
|
||||
-
|
||||
name: Checkout repository
|
||||
run: |
|
||||
git config --global credential.helper store
|
||||
echo "https://runner:${{ secrets.GITHUB_TOKEN }}@$(echo "${{ github.server_url }}" | cut -b 9-)" > ~/.git-credentials
|
||||
git clone --branch ${{ github.ref_name }} ${{ github.server_url }}/${{ github.repository }} ${{ github.workspace }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
tags: ${{ env.REGISTRY_IMAGE }}:latest
|
||||
outputs:
|
||||
DEPLOY_IMAGE: ${{ steps.info.outputs.DEPLOY_IMAGE }}
|
||||
DEPLOY_BRANCH: ${{ steps.info.outputs.DEPLOY_BRANCH }}
|
||||
shell: bash
|
||||
run: |
|
||||
podman build --tag ${{ env.REGISTRY_IMAGE }} ${{ github.workspace }}
|
||||
podman push ${{ env.REGISTRY_IMAGE }}
|
||||
deploy:
|
||||
if: github.ref_name == 'develop'
|
||||
runs-on: docker
|
||||
needs: build
|
||||
container:
|
||||
image: forgejo.sbox.hornwitser.no/furnavia/builder:latest
|
||||
image: forge.hornwitser.no/public/builder:r2025.5.2
|
||||
steps:
|
||||
-
|
||||
name: Check info
|
||||
name: Restart deployment
|
||||
run: |
|
||||
echo DEPLOY_IMAGE=${{ needs.build.outputs.DEPLOY_IMAGE }}
|
||||
echo DEPLOY_BRANCH=${{ needs.build.outputs.DEPLOY_BRANCH }}
|
||||
-
|
||||
name: Configure kubectl
|
||||
run: |
|
||||
mkdir -p ~/.kube
|
||||
cat > ~/.kube/config <<"EOF"
|
||||
${{ secrets.KUBECONFIG_CONTENT }}
|
||||
EOF
|
||||
kubectl config view
|
||||
kubectl config use-context flux-sandbox
|
||||
-
|
||||
name: Deploy
|
||||
run: |
|
||||
kubectl rollout restart \
|
||||
-n schedule-demo \
|
||||
deployment website
|
||||
curl --silent \
|
||||
--header "X-Secret: ${{ secrets.SERVICE_WEBHOOK_SECRET }}" \
|
||||
--data action=restart \
|
||||
--data service=schedule-demo \
|
||||
"http://fulla.hz.hornwitser.no:9000/hooks/service"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue