Files
action_test/.gitea/workflows/test.yml
KaGaMi 2913fe38ef
All checks were successful
简单测试 / test (push) Successful in 19s
gitea变量2
2025-07-12 20:34:38 +08:00

94 lines
3.4 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: 输出所有Gitea Actions变量 (JSON格式)
run: |
echo "🔍 正在输出所有Gitea Actions相关的环境变量..."
# 查找所有以 GITEA_ 开头的环境变量
# 这些变量对应于 ${{ gitea.<variable> }}
# 使用 jq 将 key=value 格式转换为 JSON 对象
# -R: 读取原始字符串输入 (每行一个变量)
# split("="; 2): 在第一个等号处分割字符串,最多分割成两部分 (key 和 value)
# jq -s: 读取所有输入并将其作为一个整体处理 (一个数组)
# map({key: .[0], value: .[1]}): 将数组中的每个 ["key", "value"] 数组转换为 {"key": "key", "value": "value"} 对象
# from_entries: 将 {"key": "key", "value": "value"} 对象数组转换为单个 JSON 对象
env | grep ^GITEA_ | jq -R 'split("="; 2)' | jq -s 'map({key: .[0], value: .[1]}) | from_entries'
echo "✅ Gitea Actions变量输出完成。"
- name: 登录到Gitea Container Registry
run: |
echo "🔐 登录到Gitea Registry..."
# 获取registry地址
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
cat /etc/docker/daemon.json || echo 'cat /etc/docker/daemon.json 失败'
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应用镜像..."
ZXC="${{ gitea.repository }}"
echo "📦 镜像名称: $ZXC"
# 获取仓库名称并转换为小写
LOWER_REPO_NAME=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]')
IMAGE_TAG="latest"
COMMIT_SHA="${{ gitea.sha }}"
echo "📦 镜像名称: $LOWER_REPO_NAME"
echo "🏷️ 镜像标签: $IMAGE_TAG"
echo "📋 提交SHA: $COMMIT_SHA"
# 构造镜像
docker build -t "$LOWER_REPO_NAME:$IMAGE_TAG" -t "$LOWER_REPO_NAME:$COMMIT_SHA" .
echo "✅ Docker镜像构造完成" # 可以将此信息改为更通用
# - name: 推送Docker镜像
# run: |
# echo "🚀 推送Docker镜像到Gitea registry..."
# # 获取仓库名称并转换为小写
# REPO_NAME=${{ gitea.repository }}
# LOWER_REPO_NAME=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]')
# # 设置镜像标签
# REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
# REPO_OWNER="${{ gitea.repository_owner }}"
# REPO_OWNER_LOWER="${REPO_OWNER,,}"
# IMAGE_NAME="$REGISTRY_HOST/$REPO_OWNER_LOWER/$LOWER_REPO_NAME"
# IMAGE_TAG="latest"
# COMMIT_SHA="${{ gitea.sha }}"
# # 推送镜像
# docker push "$IMAGE_NAME:$IMAGE_TAG"
# docker push "$IMAGE_NAME:$COMMIT_SHA"
# echo "✅ Docker镜像推送完成"
# echo "🎉 镜像已推送到: $IMAGE_NAME:$IMAGE_TAG"
# echo "🎉 镜像已推送到: $IMAGE_NAME:$COMMIT_SHA"