Skip to content

feat: 🎸 添加一键部署脚本 #15

feat: 🎸 添加一键部署脚本

feat: 🎸 添加一键部署脚本 #15

Workflow file for this run

name: Build and Push Multi-Architecture Docker Images
on:
push:
branches:
- main
tags:
- '*'
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Determine version and tags
id: vars
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
echo "IS_TAG=true" >> $GITHUB_ENV
echo "VERSION=$VERSION" >> $GITHUB_ENV
else
echo "IS_TAG=false" >> $GITHUB_ENV
fi
- name: Build and push xiaoya-alist
uses: docker/build-push-action@v4
with:
context: ./alist
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/xiaoya-alist:latest
${{ env.IS_TAG == 'true' && 'ghcr.io/${{ github.repository_owner }}/xiaoya-alist:${{ env.VERSION }}' || '' }}
platforms: linux/amd64,linux/arm64
- name: Build and push xiaoya-glue
uses: docker/build-push-action@v4
with:
context: ./glue
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/xiaoya-glue:latest
${{ env.IS_TAG == 'true' && 'ghcr.io/${{ github.repository_owner }}/xiaoya-glue:${{ env.VERSION }}' || '' }}
platforms: linux/amd64,linux/arm64
- name: Build and push xiaoya-emby
uses: docker/build-push-action@v4
with:
context: ./emby
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/xiaoya-emby:latest
${{ env.IS_TAG == 'true' && 'ghcr.io/${{ github.repository_owner }}/xiaoya-emby:${{ env.VERSION }}' || '' }}
platforms: linux/amd64,linux/arm64
- name: Build and push xiaoya-jellyfin
uses: docker/build-push-action@v4
with:
context: ./jellyfin
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/xiaoya-jellyfin:latest
${{ env.IS_TAG == 'true' && 'ghcr.io/${{ github.repository_owner }}/xiaoya-jellyfin:${{ env.VERSION }}' || '' }}
platforms: linux/amd64,linux/arm64
- name: Build and push xiaoya-resilio
uses: docker/build-push-action@v4
with:
context: ./resilio
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/xiaoya-resilio:latest
${{ env.IS_TAG == 'true' && 'ghcr.io/${{ github.repository_owner }}/xiaoya-resilio:${{ env.VERSION }}' || '' }}
platforms: linux/amd64,linux/arm64