在 Buddy 上自动部署 Jekyll

Buddy 是一个基于 Docker 的 CI 服务器,只需要 15 分钟左右就能设置好,并使用它来构建、测试和部署你的 Jekyll 网站。它支持的仓库有 GitHubBitbucketGitLab ,并且可以安装在本地服务器或使用云服务。

通过下面的教程你能学会如何设置一个免费的环境,用来构建和测试你的 Jekyll 项目。

1. 开始Permalink

  1. 使用你的 GitHub/Bitbucket 账户或电子邮件登录 https://buddy.works
  2. 选择你的 Git 提供商,并选择或推送你的 Jekyll 项目
  3. 创建一个新的 pipeline,并将触发模式设置为“每次推送”(On every push)
  4. 添加并配置 Jekyll 操作,然后保存 pipeline

2. Buddy 的工作原理Permalink

每次你向设定的分支推送代码时,都会在一个隔离的 Jekyll Docker 镜像 中操作 Jekyll。自动运行 jekyll build 命令,生成的文件会放在 /filesystem 目录中,然后进一步部署到 FTP/SFTP 和 IaaS 服务。你还可以添加自己的命令、安装额外的软件包、附加服务、运行 Selenium 测试,以及在 pipeline 中添加其他操作,比如发送 Slack 通知或运行重新启动服务器的 SSH 脚本。

3. 使用 YAML 进行配置Permalink

除了通过图形界面配置,你还可以使用代码进行配置,可以生成一个 buddy.yml 文件。当你将它推送到目标分支时,它会创建一个包含 Jekyll 操作的 pipeline:

- pipeline: "Build and Deploy Jekyll site"
  trigger_mode: "ON_EVERY_PUSH"
  ref_name: "master"
  actions:
  - action: "Execute: jekyll build"
    type: "BUILD"
    docker_image_name: "jekyll/jekyll"
    docker_image_tag: "latest"
    execute_commands:
    - "chown jekyll:jekyll $WORKING_DIR"
    - "jekyll build"

4. 设置本地服务器Permalink

Buddy 的自托管版本可以安装在支持 Docker 的任何类型服务器上,包括 LinuxMacAWS EC2DigitalOceanMicrosoft Azure 等。

5. 有问题吗?Permalink

官方的 Jekyll 整个文档都是开源的。如果你想扩展它或者有任何修正,可以编辑它,或者如果遇到问题需要帮助,可以寻求支持。Buddy 还有一个在线社区,也可以提供帮助。