47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
name: build-image
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: [docker, linux, x86_64]
|
|
steps:
|
|
- name: Debug env (optional)
|
|
run: |
|
|
echo "GITHUB_SERVER_URL=$GITHUB_SERVER_URL"
|
|
echo "GITHUB_REPOSITORY=$GITHUB_REPOSITORY"
|
|
|
|
# PUBLIC repo (ingen token)
|
|
- name: Checkout (public)
|
|
if: ${{ !secrets.CI_CLONE_TOKEN }}
|
|
run: |
|
|
git clone "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" .
|
|
git rev-parse --short HEAD
|
|
|
|
# PRIVATE repo (brug PAT/token gemt som secret CI_CLONE_TOKEN)
|
|
- name: Checkout (private)
|
|
if: ${{ secrets.CI_CLONE_TOKEN }}
|
|
run: |
|
|
git clone "https://${{ secrets.CI_CLONE_TOKEN }}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git" .
|
|
git rev-parse --short HEAD
|
|
|
|
- name: Build image (amd64)
|
|
run: |
|
|
docker build -t jottacloud:latest .
|
|
|
|
# (Valgfrit) Push til registry hvis du har secrets sat
|
|
- 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}"
|