在软件开发过程中,自动化发布流程是提升效率的关键环节之一。本文将介绍如何使用 Node.js 和 Axios 库来自动化地向 Gitee 仓库的最新版本中上传发布包。通过读取项目中的 package.json 文件,获取版本信息,并自动将构建好的包文件上传到 Gitee 的对应版本发布中。
环境准备
首先,确保你的开发环境中已经安装了 Node.js。同时,我们需要安装几个 npm 包来帮助我们完成这个任务:
axios
:用于发送 HTTP 请求。fs-extra
(这里使用了fs-extra/esm
版本的readJson
方法):提供扩展的文件系统方法,这里主要用于读取 package.json 文件。form-data
(可选,但在本例中未直接使用,因为Axios
可以处理FormData
):用于构建表单数据,但Axios
库已经能够很好地处理FormData
对象。
你可以通过运行以下命令来安装这些依赖:
pnpm i -D axios fs-extra
# 注意:form-data 虽未直接使用,但如果你需要处理文件上传,可以安装
# pnpm i -D install form-data
代码实现
下面是一个完整的示例代码,展示了如何自动化地从 package.json 读取版本信息,并上传一个 zip 包到 Gitee 的最新发布版本。
import {
readFile } from 'node:fs/promises';
import axios from 'axios';
import {
readJson } from 'fs-extra/esm';
import {
basename, join } from 'path';
const {
GITEE_TOKEN } = process.env; // 确保你的环境变量中设置了 GITEE_TOKEN
const owner = 'tive'; // 替换为你的 Gitee 用户名
const repo = 'cookies'; // 替换为你的 Gitee 仓库名
async function getPkg() {
try {
return await readJson(join(process.cwd(), 'package.json'))