Files
action_test/.gitea/workflows/test.yml
KaGaMi 6c16385769
Some checks failed
简单测试 / test (push) Failing after 22s
优化镜像打包7
2025-07-12 21:54:30 +08:00

94 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: 简单测试
on:
push:
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 计算并设置环境变量
run: |
echo "📦 计算并设置后续步骤所需的环境变量..."
# 计算 REPO_NAME
REPOSITORY="${{ gitea.repository }}"
echo "REPOSITORY=$REPOSITORY" >> $GITHUB_ENV
# 使用 bash 的字符串替换功能截取,确保兼容性
REPO_NAME=$(echo "${REPOSITORY#*/}" | tr '[:upper:]' '[:lower:]') # 从第一个 / 后面开始截取
echo "➡️ 计算出的仓库名称: $REPO_NAME"
# 将 REPO_NAME 写入 $GITHUB_ENV使其对后续步骤可用
echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
# 计算 REGISTRY_HOST,使用 sed 移除 http:// 或 https://
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
echo "➡️ 计算出的Registry地址: $REGISTRY_HOST"
# 将 REGISTRY_HOST 写入 $GITHUB_ENV使其对后续步骤可用
echo "REGISTRY_HOST=$REGISTRY_HOST" >> $GITHUB_ENV
echo "✅ 环境变量设置完成!"
- name: 登录到Gitea Container Registry
run: |
echo "🔐 登录到Gitea Registry..."
echo "📡 Registry地址: $REGISTRY_HOST"
echo "👤 用户名: ${{ gitea.actor }}"
# 使用HTTP协议登录
echo "${{ secrets.GITEAS_PAT }}" | docker login $REGISTRY_HOST -u "${{ gitea.actor }}" --password-stdin
echo "✅ 登录成功!"
- name: 构造Docker镜像
run: |
echo "🐳 构造Node.js Hello World应用镜像..."
# echo "📦 镜像名称: $REPOSITORY"
# 构造镜像
BUILD_IMAGE_CMD="docker build -t $REPOSITORY:latest ."
echo "📦 构造Docker镜像命令: $BUILD_IMAGE_CMD"
eval $BUILD_IMAGE_CMD
echo "✅ Docker镜像构造完成" # 可以将此信息改为更通用
- name: 推送Docker镜像
run: |
echo "🚀 推送Docker镜像到Gitea registry..."
IMAGE_TAG="latest"
# COMMIT_SHA="${{ gitea.sha }}"
# echo "📋 提交SHA: $COMMIT_SHA"
#镜像名称
IMAGE_NAME="$REGISTRY_HOST/$REPOSITORY:$IMAGE_TAG"
#打标签
TAG_IMAGE_CMD="docker tag $REPOSITORY $IMAGE_NAME"
echo "🏷️ 打标签命令: $TAG_IMAGE_CMD"
eval $TAG_IMAGE_CMD
#推送镜像
echo "🔍 推送镜像 :docker push $IMAGE_NAME"
PUSH_IMAGE_CMD="docker push $IMAGE_NAME"
eval $PUSH_IMAGE_CMD
echo "✅ Docker镜像推送完成"
- name: 清理Docker镜像
run: |
CLEAR_IMAGE_CMD1="docker rmi $IMAGE_NAME"
echo "🔍 清理Docker镜像命令: $CLEAR_IMAGE_CMD1" && eval $CLEAR_IMAGE_CMD1
CLEAR_IMAGE_CMD2="docker rmi $REPOSITORY"
echo "🔍 清理Docker镜像命令: $CLEAR_IMAGE_CMD2" && eval $CLEAR_IMAGE_CMD2
echo "✅ Docker镜像清理完成"