mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
[improvement][build] Support manual pushing of images through GitHub Actions (#1874)
This commit is contained in:
32
.github/workflows/docker-publish.yml
vendored
Normal file
32
.github/workflows/docker-publish.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: Docker Publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: 'Version of the Docker image'
|
||||||
|
required: true
|
||||||
|
default: 'latest'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Log in to Docker Hub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and publish Docker image
|
||||||
|
run: |
|
||||||
|
VERSION=${{ github.event.inputs.version }}
|
||||||
|
sh docker/docker-build.sh $VERSION
|
||||||
|
sh docker/docker-publish.sh
|
||||||
22
docker/docker-publish.sh
Normal file
22
docker/docker-publish.sh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 确保脚本在出错时退出
|
||||||
|
set -e
|
||||||
|
# 镜像名称
|
||||||
|
IMAGE_NAME="supersonicbi/supersonic"
|
||||||
|
|
||||||
|
# 默认标签为 latest
|
||||||
|
TAGS=("latest")
|
||||||
|
|
||||||
|
# 如果有 Git 标签,则使用 Git 标签作为额外的镜像标签
|
||||||
|
if [ -n "$GITHUB_REF" ]; then
|
||||||
|
GIT_TAG=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
|
||||||
|
TAGS+=("$GIT_TAG")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 推送 Docker 镜像
|
||||||
|
for TAG in "${TAGS[@]}"; do
|
||||||
|
echo "Pushing Docker image $IMAGE_NAME:$TAG"
|
||||||
|
docker push $IMAGE_NAME:$TAG
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Docker images pushed successfully."
|
||||||
Reference in New Issue
Block a user