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