95 lines
3.3 KiB
YAML
95 lines
3.3 KiB
YAML
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_ 开头的环境变量
|
||
# 使用 jq 将 KEY=VALUE 格式转换为 JSON 对象
|
||
# -R: 读取原始字符串输入 (每行一个变量)
|
||
# split("="): 在每个等号处分割字符串
|
||
# select(length >= 2): 过滤掉没有等号的行 (split后长度为1)
|
||
# map({key: .[0], value: (.[1:] | join("="))}): 将 ["KEY", "VALUE1", "VALUE2"] 转为 {key: "KEY", value: "VALUE1=VALUE2"}
|
||
# from_entries: 将 [{key, value}, ...] 数组转为 {key: value, ...} 对象
|
||
env | grep ^GITEA_ | jq -R 'split("=")' | jq -s 'map(select(length >= 2)) | map({key: .[0], value: (.[1:] | join("="))}) | 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" |