在 Razorops 上自动部署 Jekyll

razorops-homepage 是一个完整的 container 原生 CI/CD 解决方案,负责处理从提交代码到部署到生产环境的软件生命周期的所有方面。

Razorops 包含了你对 CI/CD 平台所期望的所有功能,例如:

  1. 代码编译/构建
  2. 构件打包
  3. 测试自动化(单元测试、集成测试、验收测试等)
  4. 更快的构建和部署到生产环境

Razorops 是一个整体解决方案,贯穿整个流程,从开始到部署。

使用 razorops-homepage,只需短短 15 分钟内,就能设置好你的 Jekyll 网站项目的构建、测试和部署步骤。

它支持 github-homepagebitbucket-homepagegitlab-homepage 仓库。通过以下教程你将学会如何免费搭建一个环境,用来构建、测试和部署你的 Jekyll 项目。

1. 开始使用

  1. 使用你的 GitHub/Bitbucket 或 GitLab 账户登录 razorops-homepage
  2. 创建一个 pipeline (流水线),选择你的 Git 提供商并选择你的 Jekyll 项目。
  3. 在你项目的根目录下添加一个 .razorops.yaml 文件(通过git添加到你的仓库)。
  4. 添加一些环境变量,然后可以开始准备部署。
  5. 可以参考这篇文章 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