美文网首页Hexo
使用daocloud持续集成发布hexo

使用daocloud持续集成发布hexo

作者: awanke | 来源:发表于2016-04-04 15:15 被阅读1330次

    这篇文章写如何借助daocloud免费发布hexo到github
    前置阅读:http://www.jianshu.com/p/cb2ad128080d

    需求

    1. blog源文件放在github
    2. git clone http://git.of.yousite
    3. 用Markdown写文章
    4. git push
    5. 你的文章已经更新到了github pages

    原理

    在daocloud上创建项目,生成镜像,daocloud有持续集成功能,当写完文章,push后,触发daocloud自动构建新的镜像,接着会执行你定义的动作,将文章发布到github page

    引子

    引子和实践无关,可以跳过
    程序员都有记录文档的需要,想想铺天盖地的代码片段,如果不及时整理记录,等到用的时候,单靠Google,显然不是高效的,于是有了印象笔记等在线的私人笔记本。
    开放性的分享工具--blog出场了

    • 空间
    • 博客园
    • WordPress
    • hexo

    但是用hexo写完文章,需要手动编译成HTML,然后发布到github
    能不能用户合适的工具,自动化持续集成呢,看到一篇文章:
    http://notes.iissnan.com/2016/publishing-github-pages-with-travis-ci/
    这里用到了Travis,好像被墙,反正我一直打不开, 后来用Jenkins,但是发现安装Jenkins需要性能比较好的服务器,配置也挺麻烦,折腾了一阵子,放弃了,后来打算用docker来打包环境,尝试了免费的daocloud,时速云,希云等工具,最后daocloud走通了

    步骤

    先简单写

    1. 首先搭建hexo,发布到github, 参考http://www.jianshu.com/p/cb2ad128080d
    2. 注册daocloud账号,用DockerFile创建镜像,部署镜像
    3. 那么我的Dockerfile
    # Dockerfile for building CentOS images
    FROM       centos:centos6.7
    ENV TZ "Asia/Shanghai"
    ENV TERM xterm
    Run yum clean all && yum makecache
    Run yum install -y pwgen openssh-server git  supervisor python-pip
    RUN yum install -y wget curl tar bzip2  vim-enhanced sudo yum-utils 
    Run yum install -y npm git
    Run git clone https://{{you.git.site}} /hexow
    Run cd /hexow && git pull
    Run npm install hexo-cli -g
    Run cd /hexow && npm install
    EXPOSE 4000
    EXPOSE 22
    ENTRYPOINT cd /hexow &&git fetch --all &&git reset --hard origin/master &&hexo clean &&hexo g &&hexo d&& hexo s
    

    注意替换you.git.site为你自己的git地址

    • 这里需要注意,如果是私人库,需要git授权,我没有采用ssh的方式,我用了如下的方法:
      如果你的git用户名密码分别是
    username=zhangsan
    password=1234
    git:https://coding.net/u/awanke/p/hexow/git
    

    可以写成:

    https://zhangsan:1234@coding.net/u/awanke/p/hexow/git
    

    这样就不用配置权限了

    1. 用daocloud生成镜像
    2. 部署你生成的镜像
    3. 开启自动更新,持续集成
    4. 在本地向你的代码库push代码daocloud就会自动更新镜像,自动发布到github page

    最后

    本文先只写了一个思路,我按照这个思路走通了,需要一些docker方面的基础,如果有什么问题,欢迎留言

    相关文章

      网友评论

        本文标题:使用daocloud持续集成发布hexo

        本文链接:https://www.haomeiwen.com/subject/hnnulttx.html