776 字
4 分钟
CICD-部署Astro的经验分享

写在之前:#

之前试过很多动态博客软件,结果它们不是慢就是不完善,可以说兜兜转转最后还是回到了静态博客。哎哎……

环境配置#

这里放一下参考的配置:

注意

注意,即使环境配置一致也并不推荐照抄,可能存在潜在的错误。

本方案采取:

  • 阿里云ECS(实际上任意一个支持SFTP/SSH的服务器实例均可)
  • Github云端仓库存储
  • Buddy 持续化部署

配置开发环境#

Astro部分#

具体参考官方文档

Github部分#

Github可以说是核心:

  1. 一方面,Github存放我们的源码,使得我们可以做到多设备进行博客管理
  2. 另一方面,我们的CI/CD流程依赖于Github
注意!

强烈建议下文中的仓库保持私有!避免重要代码片段的泄露

在Github上新建仓库后,将博客仓库全部上传即可:

git add *
git commit -m "这里的提交信息按照你的规范书写"
git push

那之后,我们来到第三部分:

CICD#

CICD可以说是核心思想不变,这里使用Buddy进行可持续化部署。推荐的原因有以下几个:

  • 相较于Github Action,这里可以通过可视化设置工作流
  • 支持的功能比较多
  • 免费

这里给出我的工作流创建流程:

image-20241211174007524

点击右上角的Add project,链接你的Github仓库,找到我们第二步创建的仓库,点击Sync,那之后就会进入创建管道的界面。

image-20241211174134616

点击右上角New pipeline,进入创建管道界面。

image-20241211174207291

这里作为初始化设置,我们只需要关心两个地方:

  • Name,管道名称,这里我们取一个独一无二的助记符号即可
  • Event,这里可以理解成触发器,我们可以设置什么时候触发这个管道流,我们设置成每次push后执行即可。

然后点击 Add pipeline即可

这里是我的工作流。由于我是使用了云服务器进行部署,因此我在这里选择上传文件作为第二步。而第一步一定是Build

image-20241211174446097

这里参考你的项目如何构建。

构建后,管道内就会产生我们的最终文件,而这些文件都在管道内的/dist文件夹下,因此我们在第二步要调整一下设置:

image-20241211174654930

  • Target,你的部署目标,假定我们的部署目标在服务器的/www文件夹下,在这里就需要设置

  • Source,我们上传的文件目标来源,这里我们选择Pipeline Filesystem表示我们从上一步的构建中获取静态页面

  • Pipeline filesystem path,在管道内的文件根目录

    这里说一下:这一步会将Pipeline filesystem path下面的所有文件上传到Target上指定的文件夹内。因此这里要确认好部署地址。

当我们完成了之后,保存,然后点击Run,便能看到管道流运行的情况了。

CICD-部署Astro的经验分享
https://blog.leave-time.me/posts/cicd-部署astro的经验分享/
作者
Leave_Time
发布于
2024-12-11
许可协议
CC BY-NC-SA 4.0