okospaceapi/.forgejo/workflows/docker-image.yaml
Aaron Fischer e6e8aadd7c
All checks were successful
/ docker-image (push) Successful in 1m31s
/ deployment (push) Successful in 0s
Add deployment pipeline and add some content
2024-01-10 00:14:01 +01:00

50 lines
1.6 KiB
YAML

on:
push:
branches:
- main
jobs:
docker-image:
runs-on: docker
steps:
- name: Install dependencies
run: |
echo deb http://deb.debian.org/debian bullseye-backports main | tee /etc/apt/sources.list.d/backports.list
apt-get update -qq
apt-get install -y git
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -qq -y -t bullseye-backports docker.io
- name: Checkout the sourcecode
uses: actions/checkout@v3
- name: Set up Docker build environment (rootless)
uses: docker/setup-buildx-action@v3
with:
driver-opts: |
image=moby/buildkit:v0.12.1-rootless
network=host
- name: Login to forgejo docker registry
uses: docker/login-action@v3
with:
registry: git.okoyono.de
username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Build and push the docker image
uses: docker/build-push-action@v5
with:
push: true
tags: git.okoyono.de/okoyono-intern/okospaceapi:latest
deployment:
runs-on: self-hosted
steps:
# As an alternative, we could connect to the server via ssh and execute the
# script directly, but I like the webhook thing much more, because it is
# so much more versatile.
- name: Deploy via webhook
run: |
apk add curl
curl -v -X GET "http://host.docker.internal:8100?token=${{ secrets.DEPLOY_TOKEN }}&script=deploy-spaceapi.sh"