35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
# 明确指向 K8s 挂载的绝对路径
|
|
DOCKER_HOST: unix:///var/run/docker.sock
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
# 增加持久化缓存或减少深度(如果还是卡,可以尝试更轻量的拉取)
|
|
fetch-depth: 1
|
|
|
|
- name: Log in to Gitea Registry
|
|
run: echo "${{ secrets.PUSH_TOKEN }}" | docker login git.pengzhan.dev -u "${{ github.actor }}" --password-stdin
|
|
|
|
- name: Build and push Docker image
|
|
run: |
|
|
REPO_LOWER=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')
|
|
IMAGE_NAME="git.pengzhan.dev/$REPO_LOWER"
|
|
|
|
# 增加构建时的内存优化建议(如果是 Go 编译卡住)
|
|
echo "Starting Docker build..."
|
|
docker build --network host -t $IMAGE_NAME:latest -t $IMAGE_NAME:${{ github.sha }} .
|
|
|
|
echo "Pushing image..."
|
|
docker push $IMAGE_NAME:latest
|
|
docker push $IMAGE_NAME:${{ github.sha }}
|