56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: build-image
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: [docker, linux, x86_64]
|
|
|
|
# Brug et image der allerede har docker-cli
|
|
container:
|
|
image: docker:27-cli
|
|
|
|
steps:
|
|
- name: Install git + certs
|
|
run: apk add --no-cache git ca-certificates
|
|
|
|
- name: Set base URL (brug altid offentlig adresse)
|
|
run: echo "BASE_URL=https://git.ckvist.dk" >> $GITHUB_ENV
|
|
|
|
# ✅ PUBLIC repo
|
|
- name: Checkout (public)
|
|
if: ${{ !secrets.CI_CLONE_TOKEN }}
|
|
run: |
|
|
git clone "${BASE_URL}/${GITHUB_REPOSITORY}.git" .
|
|
git rev-parse --short HEAD
|
|
|
|
# 🔒 PRIVATE repo
|
|
- name: Checkout (private)
|
|
if: ${{ secrets.CI_CLONE_TOKEN }}
|
|
run: |
|
|
git clone "https://${{ secrets.CI_CLONE_TOKEN }}@${BASE_URL#https://}/${GITHUB_REPOSITORY}.git" .
|
|
git rev-parse --short HEAD
|
|
|
|
- name: Docker info
|
|
run: docker version
|
|
|
|
- name: Build image (amd64)
|
|
run: |
|
|
docker build -t jottacloud:latest .
|
|
|
|
# (Valgfrit) Push til dit registry
|
|
- name: Login & push
|
|
if: ${{ secrets.REGISTRY && secrets.REGISTRY_USER && secrets.REGISTRY_PASSWORD }}
|
|
run: |
|
|
REG="${{ secrets.REGISTRY }}"
|
|
IMG="${{ secrets.IMAGE_NAME || 'jottacloud' }}"
|
|
TAG_SHORT="$(git rev-parse --short HEAD)"
|
|
docker login "$REG" -u "${{ secrets.REGISTRY_USER }}" -p "${{ secrets.REGISTRY_PASSWORD }}"
|
|
docker tag jottacloud:latest "$REG/$IMG:latest"
|
|
docker tag jottacloud:latest "$REG/$IMG:${TAG_SHORT}"
|
|
docker push "$REG/$IMG:latest"
|
|
docker push "$REG/$IMG:${TAG_SHORT}"
|