mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
玩客云首次启动生成随机 mac 地址 #113 自签 SSL 证书修改为首次启动时生成,增强安全性 优化整合包镜像构建脚本和 Dockerfile 修复 docker 启动脚本错误
83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: 'Version'
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- dev
|
|
- latest
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
container:
|
|
image: node:18
|
|
env:
|
|
TZ: Asia/Shanghai
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
apt-get update
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get install -y --no-install-recommends \
|
|
sudo tzdata docker.io qemu-utils qemu-user-static binfmt-support parted e2fsprogs \
|
|
curl tar python3 python3-pip rsync git android-sdk-libsparse-utils coreutils zerofree
|
|
apt-get clean
|
|
rm -rf /var/lib/apt/lists/*
|
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
|
|
echo $TZ > /etc/timezone
|
|
update-binfmts --enable
|
|
env:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
- name: Install Docker Buildx
|
|
run: |
|
|
# 创建插件目录
|
|
mkdir -p ~/.docker/cli-plugins
|
|
# 下载 buildx 二进制文件
|
|
BUILDX_VERSION="v0.11.2"
|
|
curl -L "https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.linux-amd64" -o ~/.docker/cli-plugins/docker-buildx
|
|
chmod +x ~/.docker/cli-plugins/docker-buildx
|
|
# 验证安装
|
|
docker buildx version
|
|
|
|
#- name: Install QEMU
|
|
# run: |
|
|
# 安装 QEMU 模拟器
|
|
#docker run --privileged --rm tonistiigi/binfmt --install all
|
|
# 验证 QEMU 安装
|
|
#docker buildx inspect --bootstrap
|
|
|
|
- name: Create and use new builder instance
|
|
run: |
|
|
# 创建新的 builder 实例
|
|
docker buildx create --name mybuilder --driver docker-container --bootstrap
|
|
# 使用新创建的 builder
|
|
docker buildx use mybuilder
|
|
# 验证支持的平台
|
|
docker buildx inspect --bootstrap
|
|
|
|
- name: Build multi-arch image
|
|
run: |
|
|
# 构建多架构镜像
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64,linux/arm/v7 \
|
|
--file ./build/Dockerfile \
|
|
--tag silentwind/kvmd:${{ github.event.inputs.version }} \
|
|
.
|
|
|
|
#- name: Login to DockerHub
|
|
# uses: docker/login-action@v2
|
|
# with:
|
|
# username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
# password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
|