776 字
4 分钟
CICD-部署Astro的经验分享
写在之前:
之前试过很多动态博客软件,结果它们不是慢就是不完善,可以说兜兜转转最后还是回到了静态博客。哎哎……
环境配置
这里放一下参考的配置:
注意注意,即使环境配置一致也并不推荐照抄,可能存在潜在的错误。
本方案采取:
- 阿里云ECS(实际上任意一个支持SFTP/SSH的服务器实例均可)
- Github云端仓库存储
- Buddy 持续化部署
配置开发环境
Astro部分
具体参考官方文档
Github部分
Github可以说是核心:
- 一方面,Github存放我们的源码,使得我们可以做到多设备进行博客管理
- 另一方面,我们的CI/CD流程依赖于Github
注意!强烈建议下文中的仓库保持私有!避免重要代码片段的泄露
在Github上新建仓库后,将博客仓库全部上传即可:
git add *
git commit -m "这里的提交信息按照你的规范书写"
git push
那之后,我们来到第三部分:
CICD
CICD可以说是核心思想不变,这里使用Buddy进行可持续化部署。推荐的原因有以下几个:
- 相较于Github Action,这里可以通过可视化设置工作流
- 支持的功能比较多
- 免费
这里给出我的工作流创建流程:
点击右上角的Add project
,链接你的Github仓库,找到我们第二步创建的仓库,点击Sync
,那之后就会进入创建管道的界面。
点击右上角New pipeline
,进入创建管道界面。
这里作为初始化设置,我们只需要关心两个地方:
- Name,管道名称,这里我们取一个独一无二的助记符号即可
- Event,这里可以理解成触发器,我们可以设置什么时候触发这个管道流,我们设置成每次push后执行即可。
然后点击 Add pipeline
即可
这里是我的工作流。由于我是使用了云服务器进行部署,因此我在这里选择上传文件作为第二步。而第一步一定是Build
这里参考你的项目如何构建。
构建后,管道内就会产生我们的最终文件,而这些文件都在管道内的/dist
文件夹下,因此我们在第二步要调整一下设置:
Target,你的部署目标,假定我们的部署目标在服务器的
/www
文件夹下,在这里就需要设置Source,我们上传的文件目标来源,这里我们选择
Pipeline Filesystem
表示我们从上一步的构建中获取静态页面Pipeline filesystem path,在管道内的文件根目录
这里说一下:这一步会将Pipeline filesystem path下面的所有文件上传到Target上指定的文件夹内。因此这里要确认好部署地址。
当我们完成了之后,保存,然后点击Run
,便能看到管道流运行的情况了。
CICD-部署Astro的经验分享
https://blog.leave-time.me/posts/cicd-部署astro的经验分享/