Node.js + Axios 上传附件到 Gitee 仓库指定 Release

在软件开发过程中,自动化发布流程是提升效率的关键环节之一。本文将介绍如何使用 Node.js 和 Axios 库来自动化地向 Gitee 仓库的最新版本中上传发布包。通过读取项目中的 package.json 文件,获取版本信息,并自动将构建好的包文件上传到 Gitee 的对应版本发布中。

Node.js + Axios + Gitee API

环境准备

首先,确保你的开发环境中已经安装了 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'))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值