内容简介:最近在本地搭建了一个 Gitbook ,用于内网访问。总结一下简单流程形成此文,细节设置可以参考官网。推荐安装 openjdk-7-jre 和 openjdk-7-jdk ,但是其在 Ubuntu 16.04 和更高版本不再有效,可以安装 Java 8 或者 9 代替。Jenkins 更新比较快,如若过期,可以按如下命令更新。
最近在本地搭建了一个 Gitbook ,用于内网访问。总结一下简单流程形成此文,细节设置可以参考官网。
Gitbook
Install Git
sudo apt install git
Install Node.js
sudo apt install Node.js
Install npm
sudo apt install npm
Install gitbook
npm install gitbook-cli -g gitbook -V
Test gitbook server-web
mkdir server cd server gitbook init gitbook build . gitbook serve .
Gitlab
Install and configure the necessary dependencies
sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates
Install Postfix to send notification emails.
sudo apt-get install -y postfix
Add the GitLab package repository and install .
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee
Config gitlab
sudo mkdir -p /etc/gitlab sudo touch /etc/gitlab/gitlab.rb sudo chmod 600 /etc/gitlab/gitlab.rb sudo vim /etc/gitlab/gitlab.rb # external_url 'http://164.69.136.23' , config as local ip or url. # Modification is suggested. If '502 GitLab is not responding...' error exists, modify 'unicorn['port']' in gitlab.rb. sudo gitlab-ctl reconfigure # reconfigure and restart. sudo gitlab-ctl status
Jenkins
Install Java
推荐安装 openjdk-7-jre 和 openjdk-7-jdk ,但是其在 Ubuntu 16.04 和更高版本不再有效,可以安装 Java 8 或者 9 代替。
sudo apt-get install openjdk-7-jre sudo apt-get install openjdk-7-jdk
Install Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins
Upgrade Jenkins
Jenkins 更新比较快,如若过期,可以按如下命令更新。
sudo apt-get update sudo apt-get install jenkins
Config Jenkins
sudo vi /etc/init.d/jenkins # Modify HTTP_PORT is suggested. sudo vi /etc/sudoers # jenkins ALL=(ALL) NOPASSWD:ALL ; 赋予 Jenkins sudo 权限和无密权限
Install plugin
通过 web(eg: http://192.168.1.2:8080 ) 访问Jenkins 并安装插件 Git plugin和Gitlab Hook Plugin 。
初次登陆时注意 check web 提示的密码地址。
Nginx
Install nginx
sudo apt-get install nginx # upgrade sudo apt-add-repository ppa:nginx/stable sudo apt-get update sudo apt-get upgrade nginx -y sudo service nginx start
nginx 默认使用 80 端口,打开浏览器输入: http://localhost/
Config nginx
sudo vi /etc/nginx/nginx.conf , 注释掉不需要的配置文件,并新配 server 。
# comment to solve "Welcome to nginx ..." issue. # include /etc/nginx/conf.d/*.conf; # include /etc/nginx/sites-enabled/*; server { server_name localhost; listen 8082; # config port location / { root /home/lee/gitbook/www/mybook; # 自定义,用于存放 gitbook 内容 #index index.html index.html; #autoindex autoindex on; autoindex_exact_size on; autoindex_localtime on; } } nginx -t # 检查配置文件是否正常 nginx -s reload # 重启 若出现错误: nginx:[error] open() "/run/nginx.pid" failed (2: No such file or directory) nginx -c /etc/nginx/nginx.conf nginx -s reload nginx -s stop
Automaticaly trigger
Config gitlab
Add access token
user settings ---> Access Tokens
记录下 token ,一旦关闭网页,此 token 将不再可见。
Create mybook
, 添加 webhooks.
a. Settings ---> Integrations b. add url: http://192.168.1.2:8082/gitlab/build_now (jenkins url) . c. Select push event. d. Add webhook.
在本地项目路径执行 ‘gitbook init’ 生成 README.md 和 SUMMARY.md 两个文件, push 到 gitlab.
Config Jenkins
Add tokens
# 系统管理 ---> 系统设置 Gitlab: Connection name: gitlab Gitlab host url: gitlab url credentials: Add token, 填入上面 Access Tokens. Test connection.
Config trigger
新建任务
-
源码管理: git
Repository URL: http://192.168.1.2:8081/root/mybook.git Credentials ---> Add , 填入 Gitlab 用户名和密码
-
构建 —-> 执行 shell
gitbook build sudo rm -rf /home/lee/gitbook/www/mybook sudo cp -a _book /home/lee/gitbook/www/mybook sudo chmod 777 /home/lee/gitbook/www/mybook
Preview
更新本地文件,然后 push 到 Gitlab, 查看 Jenkins 是否会自动触发构建。
如果 OK , 整个配置流程就完成了,也可以直接预览 Gitbook了。
http://192.168.1.2:8082 (nginx port)
以上所述就是小编给大家介绍的《Gitbook + Jenkins + Gitlab 搭建内网自动构建的 Gitbook》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Linux 搭建 Android 编译构建环境
- 基于GitLab CI搭建Golang自动构建环境
- 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目
- 使用 amWiki 搭建自动构建的轻量级知识库平台
- 使用Prometheus和Grafana构建集群监控系统(一): 配置与搭建
- 用构建工具搭建你 web 项目 grunt gulp webpack js
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据驱动设计
[美]罗谢尔·肯(RochelleKing)、[美]伊丽莎白F.邱吉尔(Elizabeth F Churchill)、Caitlin Tan / 傅婕 / 机械工业出版社 / 2018-8 / 69.00元
本书旨在帮你了解数据引导设计的基本原则,了解数据与设计流程整合的价值,避免常见的陷阱与误区。本书重点关注定量实验与A/B测试,因为我们发现,数据分析与设计实践在此鲜有交集,但相对的潜在价值与机会缺大。本书提供了一些关于在组织中开展数据实践的观点。通过阅读这本书,你将转变你的团队的工作方式,从数据中获得大收益。后希望你可以在衡量指标的选择、佳展示方式与展示时机、测试以及设计意图增强方面,自信地表达自......一起来看看 《数据驱动设计》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
XML、JSON 在线转换
在线XML、JSON转换工具