VitePress 是一款轻量高效的静态站点生成工具,非常适合搭建个人网站或文档。然而,在部署过程中,技术的快速迭代可能会带来一些意想不到的坑。最近,我在更新 VitePress 网站时遇到了 actions/upload-artifact: v3 废弃的报错。本文将详细记录问题的解决过程,分享实用的部署经验,帮助大家少走弯路。
前情回顾
2023-06-25:首次提交代码,成功搭建 VitePress 个人网站。
2024-11-03:因原账号注销,使用新账号在哔哩哔哩发布视频更新。
2025-02-05:部署时遇到报错,提示 actions/upload-artifact: v3 已废弃。
2025-02-21:借助 Grok 解决问题,成功完成部署和构建。
遇到的报错
在部署时,GitHub Actions 报错如下:
Error: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v3. Learn more
官方链接(参考)指出,actions/upload-artifact: v3 已不再支持,需升级至新版本。
解决方案
问题的核心在于更新 GitHub Actions 的构建版本,尤其是 upload-pages-artifact。关键更新代码如下:
yaml
- uses: actions/upload-pages-artifact@v3
更新亮点
- 用途和封装:upload-pages-artifact@v3 专为 GitHub Pages 设计,优化了静态文件上传流程。
- 不可变性:新版本引入 artifact 不可变性,确保部署后内容一致且安全。
- 功能增强:支持上传隐藏文件和目录,提升了灵活性。
更新后的配置文件
yaml
name: Deploy
on:
workflow_dispatch: {}
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- name: Build
run: npm run docs:build
- uses: actions/configure-pages@v5
- uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4