46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Test Code Base"]
|
|
types:
|
|
- completed
|
|
branches:
|
|
- production
|
|
- dev
|
|
- preview
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Log in to GHCR
|
|
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
|
|
|
- name: Create Deployment .env File
|
|
run: |
|
|
cat > .env <<EOF
|
|
NEXT_PUBLIC_BASE_URL=${{ vars.NEXT_PUBLIC_BASE_URL }}
|
|
GHOST_API_URL=${{ vars.GHOST_API_URL }}
|
|
GHOST_API_KEY=${{ secrets.GHOST_API_KEY }}
|
|
MY_EMAIL=${{ vars.MY_EMAIL }}
|
|
MY_PASSWORD=${{ secrets.MY_PASSWORD }}
|
|
EOF
|
|
echo "Created .env file:" && cat .env
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
|
|
|
|
|
|
- name: Build & Push Docker Image
|
|
run: |
|
|
# Nutzt den Branch-Namen aus dem auslösenden Workflow
|
|
IMAGE_NAME="ghcr.io/${{ github.repository_owner }}/my-nextjs-app:${{ github.event.workflow_run.head_branch }}"
|
|
docker buildx create --use
|
|
docker buildx build --platform linux/arm64 -t "$IMAGE_NAME" --push .
|