CircleCI 2.0持續集成Jekyll

談到持續集成,最經常使用的工具無非就是三個:一個是TravisCI,一個是CircleCI,一個是Jenkins。前兩個是網站,能夠很是便利地與Github相集成,但都有數量限制,最後一個是開源軟件,能夠下載安裝成供本身使用的工具,想作幾個作幾個。html

所謂持續集成,聽起來彷佛很時尚,但其本質無非就是三件事:從代碼庫git中拉取代碼、編譯、部署。若是你想嘗試Jenkins,能夠經過Docker安裝,而後集成到你本身的git倉庫上git

今天咱們不談Jenkins,今天要談的是CircleCI。在這幾個工具當中,CircleCI的界面應該說是最漂亮的:github

clipboard.png

CircleCIGithub集成比較容易,直接選擇本身的代碼庫拉取便可。而Github Pages因爲使用了Jekyll,因此有必要看一下Jekyll如何與CircleCI集成,但Jekyll官網上關於與CircleCI集成的文章仍是基於舊版本的CircleCI 1.0的,而CircleCI 2.0已經與1.0有了很大差別。因此下面咱們來說一下如何把JekyllCircleCI 2.0集成在一塊兒。docker

1.0不一樣的是,你不須要在項目的根目錄下創建circle.yml了,而是要在項目根目錄下建立一個名爲.circle的文件夾,而後在裏面放一個名爲config.yml的文件,文件內容以下:segmentfault

version: 2
jobs:
   build-job:
     docker:
       - image: circleci/ruby:latest
     steps:
       - checkout
       - run: bundle install
       - run: bundle exec jekyll build
       - run: bundle exec htmlproofer ./_site --allow-hash-href --check-html --disable-external
       - run: echo "Build finished!"
workflows:
  version: 2
  build-deploy:
    jobs:
      - build-job

在這裏,咱們採用了工做流的方式來作,可是隻作了編譯部分,而沒有作須要rsync的部署部分,由於項目自己已經在Github Pages服務器上了,不須要額外部署。若是你須要部署到其餘服務器的話,還須要在其餘服務器上開闢rsync服務,而後在CircleCI裏執行rsync命令,那是另一個話題了。ruby

關於CircleCIJekyll集成的真實案例,能夠參考個人博客模版服務器

相關文章
相關標籤/搜索