在 Razorops 上自动部署 Jekyll
razorops-homepage 是一个完整的 container 原生 CI/CD 解决方案,负责处理从提交代码到部署到生产环境的软件生命周期的所有方面。
Razorops 包含了你对 CI/CD 平台所期望的所有功能,例如:
- 代码编译/构建
- 构件打包
- 测试自动化(单元测试、集成测试、验收测试等)
- 更快的构建和部署到生产环境
Razorops 是一个整体解决方案,贯穿整个流程,从开始到部署。
使用 razorops-homepage,只需短短 15 分钟内,就能设置好你的 Jekyll 网站项目的构建、测试和部署步骤。
它支持 github-homepage、bitbucket-homepage 和 gitlab-homepage 仓库。通过以下教程你将学会如何免费搭建一个环境,用来构建、测试和部署你的 Jekyll 项目。
1. 开始使用
- 使用你的 GitHub/Bitbucket 或 GitLab 账户登录 razorops-homepage。
- 创建一个 pipeline (流水线),选择你的 Git 提供商并选择你的 Jekyll 项目。
- 在你项目的根目录下添加一个
.razorops.yaml
文件(通过git添加到你的仓库)。 - 添加一些环境变量,然后可以开始准备部署。
- 可以参考这篇文章 How to Deploy a Static Website to AWS S3 with Razorops CI/CD 来添加构建和部署步骤。
2. 工作原理
当你你向选定的分支推送代码,Razorops 就会按照你在 .razorops.yaml
文件中的定义规则自动运行。
tasks:
build-and-deploy:
steps:
- checkout
# commands to build jekyll website
- commands:
- bundle install
- JEKYLL_ENV=production bundle exec jekyll build
# Commands to upload static pages folder to AWS S3 or ftp
# Set AWS access key & secrets environment variables under
# Razorops dashboard project pipelines
- commands:
- aws s3 rm s3://$AWS_S3_BUCKET --recursive
- aws s3 cp _site s3://$AWS_S3_BUCKET --recursive
if: branch == 'main'
构建步骤会生成一个名为 _site
的文件夹,这是 Jekyll 的默认设置。在部署时,你可以将代码上传到 S3 或任何 FTP 服务器,并定义发送网站代码到服务器的任何命令。
Razorops 对于开源项目是免费的,赶紧试试吧!razorops-homepage