hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

用GitLab Runner自动布置GitBook并不难

2019-11-18杂谈搜奇网46°c
A+ A-

置信许多程序员喜好用 GitBook 来写电子书、教程或许博客,看了不少文章,貌似都缺乏申明怎样将 GitBook 布置到版本库,并自动在服务器上 build,然后将生成的静态网站布置到云服务器上。

所以,本日就记录下我是怎样一步步将 GitBook 宣布到本身的云服务器上的。

起首需要借助的东西有:

  1. GitBook
  2. GitLab
  3. GitLab Runner
  4. Nginx
  5. 云服务器 (如:阿里云服务器)
  6. Docker
  7. 域名

当地开辟

许多教程都写过怎样在当地初始化 GitBook 最先写文档。这里简朴形貌。

初始化 gitbook init 后,生成两个文件:README.mdSUMMARY.mdREADME.md 应当不生疏,就是申明文档,而 SUMMARY.md 实在就是书的章节目次。

有了这两个文件还不够,我们必需要初始化一些我们本身的信息,这时候就需要建立文件:book.json,看看我的设置文件:

{
  "language": "zh",
  "plugins": ["tbfed-pagefooter", "sitemap-general", "rss", "copy-code-button", "disqus", "donate", "custom-js-css", "highlight"],
  "pluginsConfig": {
      "custom-js-css": {
        "js": [
          "./bootstrap4/js/bootstrap.bundle.min.js",
          "./bootstrap4/js/bootstrap.min.js"
        ],
        "css": [
          "./bootstrap4/css/bootstrap-grid.min.css",
          "./bootstrap4/css/bootstrap-reboot.min.css",
          "./bootstrap4/css/bootstrap.min.css"
        ]
      },
    "donate": {
          "wechat": "/images/wechat.jpeg",
          "alipay": "/images/alipay.jpeg",
          "title": "以为不错点个赞",
          "button": "点赞"
        },
        "disqus": {
            "shortName": "coding"
        },
        "rss": {
            "title": "coding01 自我量化",
            "description": "coding01 自我量化",
            "author": "叶梅树",
            "feed_url": "https://ziwolianghua.coding01.cn/rss",
            "site_url": "https://ziwolianghua.coding01.cn/",
            "managingEditor": "yemeishu@126.com",
            "webMaster": "yemeishu@126.com",
            "categories": [
                "ziwolianghua"
            ]
        },
        "sitemap-general": {
            "prefix": "https://ziwolianghua.coding01.cn"
        },
        "tbfed-pagefooter": {
        "copyright":"Copyright &copy coding01 2018",
        "modify_label": "该文件订正时候:",
        "modify_format": "2019-11-3 21:20:20"
    }
    }
}

这里重要用到的插件有:

"tbfed-pagefooter", "sitemap-general", "rss", "copy-code-button", "disqus", "donate", "custom-js-css", "highlight"

这些插件完整能够依据本身的状况而定,固然,我们也挑选了一些自定义 jscss,全部构造以下:

我们能够装置插件看看实行效果了:

gitbook install && gitbook serve

接下来能够写两个文件:简介和开篇。

看我们的 SUMMARY.md 文件:

# Summary

## [引见](README.md)


## 1. 理论

### 1.1 开篇

* [1.1.1 媒介](1.1.1.md)

也能够看看 README.md 内容:

# 自动化自我量化

## 关于体系

由于我运用的是 iPhone + rMBP + Apple Watch ,所以本文的大部分内容是基于 Apple 生态下写的,假如你是 Android 生态装备,能够尝试相似的东西和方法论。

## 关于作者

> coding01 自在程序员

## LICENSE

![学问同享允许协定 Figure: 学问同享允许协定](https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png)

[学问同享允许协定 Figure: 学问同享允许协定](http://creativecommons.org/licenses/by-nc-nd/4.0/)

效果以下:

这里我放了一篇我之前写好的 「媒介」,基础满足自定义的款式效果:

到此,基础的 GitBook 当地制造完成,下一步就看怎样布置到服务器上了。

由于我本身有云服务器,所以引荐运用 GitLab 做代码版本掌握,然后把 GitBook 电子书静态文件也布置到本身服务器上,设置自定义域名接见。

这里重点不是说怎样布置 GitLab,而是说另一个题目,由于 GitBook build 以后的实际上是纯静态网站,能够直接运用 Nginx 或其他来设置域名直接接见。

所以这里的难点是,怎样将代码 commit 到 GitLab 后,直接 gitbook build 发生静态网站内容,安排指定的途径下,供应 Nginx 等剖析。

这里引荐运用「Gitlab Runner」。

Gitlab Runner

假如我们本身已运用Gitlab docker 环境,或许看我之前的 blog,应当晓得我是基于 Laradock,所以直接注册一个 Gitlab Runner。

在注册之前,需要拿到该 Gitlab 项目的 Gitlab Runner token:

然后注册一个 Gitlab Runner:

dc exec gitlab-runner gitlab-runner register

注:一样的,你也能够直接进入 Gitlab Runner 容器,在设置文件中增加。

建立后,即能够在项目设置中看到:

这里,我们运用 docker 形式,建立 node 镜像,供下文的 GitBook 编译,生成静态网站。

好了,接下来就是编写 .gitlab-ci.yml 文件了:

image: node:latest

build:
    stage: build
    artifacts:
        paths:
         - _book
    script: 
     - npm install gitbook-cli -g
     - gitbook install
     - gitbook build
    tags:
     - build

test:
    stage: test
    script: 
     - echo "no tests."
    tags:
     - test

deploy:
    stage: deploy
    script:
     - rm -rf /var/www/ziwolianghua/*
     - cd _book
     - cp -rf . /var/www/ziwolianghua
     - echo "宣布胜利!"
    tags:
     - deploy
    only:
     - master

这里设置了三个 tag:build、test 和 deploy,和 GitLab Runner 设置的 tags 合营运用。当满足 build、test 时,就会触发我们适才定义的 ziwolianghua_build_test Runner,也就会实行我们定义好的 buildtest jobs,编译和测试我们网站。

我们将当地代码 push 到 Gitlab 看看效果:

build 和 test 胜利后,我们接下来就需要把生成的静态代码布置到指定途径上,这时候不再是 docker 形式了,改成 shell,由于我们在雷同的服务器布置网站,而且经由过程 docker 同享 volumn,将文件寄存处所和 nginx 同享,如许就能够直接在 nginx 容器下设置接见。

接下来,设置第二个 「Gitlab-Runner」:

好了,我们再看看 jobs 运转效果

宣布胜利。

这时候我们只需设置 ngnix 去接见这个途径即可,这里就不再赘述了。

直接接见链接 https://ziwolianghua.coding01.cn 看看效果:

总结

从当地运用 GitBook init 最先写 blog 和电子书,然后代码托管到 GitLab 上,再利用 GitLab Runner 自动化编译和布置网站,一挥而就。如许做的优点是,只需写好的 markdown 电子书扔到项目中,在目次文件上增加途径即可,我们能够随时随地更新和提交原始代码,完整不必斟酌在当地布置 GitBook 环境了,而生成静态文件的使命交给服务器自动完成。

「完」

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
用GitLab Runner自动布置GitBook并不难

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282353.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>