ci: 添加 Gitea Actions 示例工作流
- 新增 ci.yaml 文件,定义 Gitea Actions 示例
This commit is contained in:
@@ -10,6 +10,73 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: gitea_labels
|
runs-on: gitea_labels
|
||||||
steps:
|
steps:
|
||||||
|
- name: 安装Node.js环境
|
||||||
|
run: |
|
||||||
|
echo "🔧 安装Node.js环境..."
|
||||||
|
|
||||||
|
# 检查是否已安装Node.js
|
||||||
|
if command -v node &> /dev/null; then
|
||||||
|
echo "✅ Node.js已安装: $(node --version)"
|
||||||
|
echo "✅ npm已安装: $(npm --version)"
|
||||||
|
else
|
||||||
|
echo "📥 下载并安装Node.js..."
|
||||||
|
|
||||||
|
# 下载Node.js 18 LTS - 使用国内镜像
|
||||||
|
NODE_VERSION="18.20.0"
|
||||||
|
NODE_ARCH="linux-x64"
|
||||||
|
|
||||||
|
# 尝试多个国内镜像源
|
||||||
|
NODE_MIRRORS=(
|
||||||
|
"https://npmmirror.com/mirrors/node/v${NODE_VERSION}/node-v${NODE_VERSION}-${NODE_ARCH}.tar.xz"
|
||||||
|
"https://mirrors.huaweicloud.com/nodejs/v${NODE_VERSION}/node-v${NODE_VERSION}-${NODE_ARCH}.tar.xz"
|
||||||
|
"https://mirrors.tencent.com/nodejs/v${NODE_VERSION}/node-v${NODE_VERSION}-${NODE_ARCH}.tar.xz"
|
||||||
|
"https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-${NODE_ARCH}.tar.xz"
|
||||||
|
)
|
||||||
|
|
||||||
|
NODE_DOWNLOAD_SUCCESS=false
|
||||||
|
|
||||||
|
for mirror in "${NODE_MIRRORS[@]}"; do
|
||||||
|
echo "尝试从镜像下载Node.js: $mirror"
|
||||||
|
if wget -q --timeout=30 --tries=3 "$mirror" -O node.tar.xz; then
|
||||||
|
echo "✅ Node.js下载成功: $mirror"
|
||||||
|
NODE_DOWNLOAD_SUCCESS=true
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "❌ Node.js下载失败: $mirror"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$NODE_DOWNLOAD_SUCCESS" = false ]; then
|
||||||
|
echo "❌ 所有Node.js镜像源下载失败"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 解压到/usr/local
|
||||||
|
echo "解压Node.js到/usr/local..."
|
||||||
|
tar -C /usr/local -xJf node.tar.xz
|
||||||
|
|
||||||
|
# 创建软链接
|
||||||
|
ln -sf /usr/local/node-v${NODE_VERSION}-${NODE_ARCH}/bin/node /usr/local/bin/node
|
||||||
|
ln -sf /usr/local/node-v${NODE_VERSION}-${NODE_ARCH}/bin/npm /usr/local/bin/npm
|
||||||
|
|
||||||
|
# 设置环境变量
|
||||||
|
export PATH=$PATH:/usr/local/node-v${NODE_VERSION}-${NODE_ARCH}/bin
|
||||||
|
|
||||||
|
# 验证安装
|
||||||
|
echo "验证Node.js安装..."
|
||||||
|
/usr/local/bin/node --version
|
||||||
|
/usr/local/bin/npm --version
|
||||||
|
|
||||||
|
# 设置npm国内镜像
|
||||||
|
/usr/local/bin/npm config set registry https://registry.npmmirror.com
|
||||||
|
|
||||||
|
# 清理下载文件
|
||||||
|
rm node.tar.xz
|
||||||
|
|
||||||
|
echo "✅ Node.js安装完成"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: 检出代码
|
- name: 检出代码
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
Reference in New Issue
Block a user