add gitea ci
This commit is contained in:
79
.gitea/workflows/ci.yaml
Normal file
79
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
name: Build & Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- development
|
||||
|
||||
env:
|
||||
DOCKER_TLS_CERTDIR: /certs
|
||||
REGISTRY: registry.remo-liebmann.de
|
||||
IMAGE_NAME: hallofbrawl-homepage
|
||||
|
||||
jobs:
|
||||
|
||||
# =========================
|
||||
# BUILD
|
||||
# =========================
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
docker:
|
||||
image: docker:24.0.5-dind
|
||||
options: --privileged
|
||||
|
||||
container:
|
||||
image: docker:24.0.5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set environment based on branch
|
||||
run: |
|
||||
if [ "${GITHUB_REF##*/}" = "main" ]; then
|
||||
echo "IMAGE_TAG=prod" >> $GITHUB_ENV
|
||||
echo "HUGO_ENV=production" >> $GITHUB_ENV
|
||||
else
|
||||
echo "IMAGE_TAG=dev" >> $GITHUB_ENV
|
||||
echo "HUGO_ENV=development" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Login to registry
|
||||
run: echo "${{ secrets.CI_REGISTRY_PASSWORD }}" | docker login $REGISTRY -u reguser --password-stdin
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
docker build \
|
||||
--build-arg HUGO_ENV=$HUGO_ENV \
|
||||
-t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG \
|
||||
.
|
||||
|
||||
- name: Push image
|
||||
run: docker push $REGISTRY/$IMAGE_NAME:$IMAGE_TAG
|
||||
|
||||
|
||||
# =========================
|
||||
# DEPLOY
|
||||
# =========================
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
|
||||
container:
|
||||
image: alpine/curl
|
||||
|
||||
steps:
|
||||
- name: Set webhook based on branch
|
||||
run: |
|
||||
if [ "${GITHUB_REF##*/}" = "main" ]; then
|
||||
echo "PORTAINER_WEBHOOK=${{ secrets.PORTAINER_WEBHOOK_PROD }}" >> $GITHUB_ENV
|
||||
else
|
||||
echo "PORTAINER_WEBHOOK=${{ secrets.PORTAINER_WEBHOOK_DEV }}" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Trigger Portainer
|
||||
run: curl --insecure -X POST $PORTAINER_WEBHOOK
|
||||
Reference in New Issue
Block a user