Files
Homepage/.github/workflows/actions.yml

96 lines
2.9 KiB
YAML

name: Docker Build
on:
push:
branches:
- main # Set a branch to deploy
env:
IMAGE_REGISTRY: ghcr.io
IMAGE_OWNER: fluttershub
IMAGE_NAME: homepage
jobs:
Build_x86:
runs-on: ubuntu-latest
# If running with act, Uncomment below
# container: phaze9/action-runner
env:
DOCKER_CONFIG: $HOME/.docker
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Login to ghcr.io
uses: docker/login-action@v1
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ env.IMAGE_OWNER }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker Image
id: docker_build_x64
uses: docker/build-push-action@v2
with:
push: true
platforms: linux/amd64
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:x64-latest
Build_ARM64:
runs-on: [self-hosted, linux, ARM64]
# If running with act, Uncomment below
# container: phaze9/action-runner
env:
DOCKER_CONFIG: $HOME/.docker
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Login to ghcr.io
uses: docker/login-action@v1
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ env.IMAGE_OWNER }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker Image
id: docker_build_arm64
uses: docker/build-push-action@v2
with:
push: true
platforms: linux/arm64
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:arm64-latest
Deploy:
runs-on: ubuntu-latest
needs: Build_x86
steps:
- uses: actions/checkout@v2
- name: Run Ansible playbook
# uses: dawidd6/action-ansible-playbook@v2.5.0
uses: dawidd6/action-ansible-playbook@671974ed60e946e11964cb0c26e69caaa4b1f559
with:
playbook: playbook.yml
directory: ./
key: ${{secrets.DEPLOY_SSH_KEY}}
inventory: |
[docker]
fluttershub.com
[docker:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_user=deploy
options: |
--verbose
# Set to "true" if root is required for running your playbook
# sudo: false # optional
# Set to "true" if the Ansible output should not include colors (defaults to "false")
# no_color: # optional