谈到持续集成,最经常使用的工具无非就是三个:一个是TravisCI,一个是CircleCI,一个是Jenkins。前两个是网站,能够很是便利地与Github
相集成,但都有数量限制,最后一个是开源软件,能够下载安装成供本身使用的工具,想作几个作几个。html
所谓持续集成,听起来彷佛很时尚,但其本质无非就是三件事:从代码库git
中拉取代码、编译、部署。若是你想尝试Jenkins
,能够经过Docker
安装,而后集成到你本身的git仓库上。git
今天咱们不谈Jenkins
,今天要谈的是CircleCI
。在这几个工具当中,CircleCI
的界面应该说是最漂亮的:github
CircleCI
与Github
集成比较容易,直接选择本身的代码库拉取便可。而Github Pages
因为使用了Jekyll
,因此有必要看一下Jekyll
如何与CircleCI
集成,但Jekyll官网上关于与CircleCI集成的文章仍是基于旧版本的CircleCI 1.0
的,而CircleCI 2.0
已经与1.0
有了很大差别。因此下面咱们来说一下如何把Jekyll
与CircleCI 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
关于CircleCI
与Jekyll
集成的真实案例,能够参考个人博客模版。服务器