Gitlab CI 简介
Gitlab中集成了CI (Continuous Integration:持续集成) 和CD (Continuous Delivery:持续交付) 来方便用户测试、构建、部署代码。它是Gitlab的一部分,用户可以在 Gitlab.com 上免费使用,同时也包含在了开源的Gitlab社区版和付费的Gitlab企业版中。
Gitlab CI具有如下特性:
多平台:您可以在任何支持Go语言的平台上运行,例如:Unix、Windows、OSX等。
多语言:构建脚本是通过命令行驱动的,可以支持诸如Java、PHP、Ruby、C等任何语言。
稳定:您的构建操作可以运行在其他机器上,而不是Gitlab上。
并行构
继续阅读 »
Gitlab简介
Gitlab 是一个用于管理GIT代码库的项目,提供权限管理、代码review、问题跟踪、wiki以及持续集成等多种功能,Gitlab 一共提供四种版本可供用户选择,分别是
- Gitlab Community Edition (CE):社区版,免费,用户自行托管,通过社区提供技术支持
- Gitlab Enterprise Edition (EE):企业版,付费,用户自行托管,提供附加的功能以及技术支持
- Gitlab.com:免费的SaaS服务,可以创建共有以及私有的版本库,可以购买额外的技术支持
- GitHost.io:由Gitlab提供的用户私有的独享服务
我们使用的是Gitlab CE版本。
G
继续阅读 »
什么是Websocket
Websocket 是HTML5开始推出的一种新的协议,实现了浏览器与服务端的全双工通信,在使用WebSocket时,,只要和服务端做一个握手(handshaking)动作,浏览器首先要向服务端发起一个特殊的HTTP请求,其头部附加了信息Upgrade: WebSocket,表明这是一个申请协议升级的HTTP请求,服务端解析出来这些信息后,产生一个应答给客户端,这样双方的WebSocket连接就建立起来了,即可形成一条全双工的数据通道,两者之间可以进行互相通信,直到客户端和服务端中的某一方主动关闭连接。
在WebSocket出现之前,为了解决浏览器和服务端之间的实时推送问题,采取了很多解决方案,通常使用
继续阅读 »
关于Gitlab Pages
与Github Pages相似,Gitlab Pages也是一个用来托管静态文件的服务,由Gitlab提供,通过与Gitlab CI和Gitlab Runner集成,将用户个人、组织以及项目的页面部署到静态文件服务当中。
Gitlab Pages是从Gitlab EE 8.3版本才引入的,自定义CNAME和TLS支持是从Gitlab EE 8.5版本中引入的,由于我们没有Gitlab EE 环境,此处我们使用Gitlab.com提供免费服务。
开始使用Gitlab Pages
通常来说,有两种类型的pages
用户页面(username.exmaple.io)或者组织页面(groupname
继续阅读 »
Travis CI 简介
Travis CI是一个分步式的开源持续构建项目,只需要通过配置.travis.yml文件,即可将Github上的项目进行持续的编译、测试等工作,以便尽早发现错误,尽早改正,并减少人工的重复劳动。同时,也可以通过travis ci完成很多有趣的工作。
通过Travis CI自动发布hexo博客
我们建立的hexo博客,每次写完一篇,都要执行 hexo generate 和 hexo deploy 等命令,将博客生成的HTML静态文件部署到Github的版本库上,同时,也会将源代码保存一份到Github的另一个分支,每次都要执行很多重复操作,在此,我们可以通过Travis CI来帮我们完成这些重复劳动。
继续阅读 »
MkDocs
MkDocs(官网、Github)是一款使用python开发的轻量级静态站点生成器,主要用于生成api文档,使用markdown撰写,使用yaml作为配置文件。
安装
首先需要安装python以及pip,然后使用pip即可安装MkDocs。
sudo apt-get install python
sudo apt-get install python-pip
sudo pip install mkdocs
安装完成之后,可以执行命令mkdocs --version查看所安装版本。
开始使用
执行以下命令新建一个工程。
mkdocs new demo
cd demo
生成的目录里结构如下:
p
继续阅读 »
Node.js代理服务器
出于信息安全的需求,很多公司对于员工电脑访问外网都会有很多特别的限制,比如某国内大型上市IT解决方案供应商,所有的员工电脑必须通过某个指定的HTTP代理服务器访问互联网资源,并且还要进行用户名密码的验证,导致很多无法设置代理服务器的软件以及仅支持socks5代理的软件都无法使用,甚至想要在调试应用的时候调用一些第三方api都需要做很多特殊设置。
比如正常的Node.js在做HTTP请求的时候,代码如下:
var http = require('http');
var opt = {
host: 'api.example.com', //要访问的服务器地址或者域名
port: 808
继续阅读 »
关于Hexo
Hexo是一款轻量级的HTML静态博客生成器,由Node.js编写,支持Markdown撰写,运行速度快,可以一键部署到Github Pages等托管网站,同时支持插件,可以通过编写插件支持更加丰富的功能。
安装Hexo
Hexo基于Node.js编写,安装Hexo之前,需要首先确保正确安装了Node.js、npm和Git(参见Node.js官网、Git官网),只要运行以下命令即可将Hexo安装到电脑中:
npm install hexo-cli -g
初始化
安装Hexo成功后,即可创建Hexo工程目录,执行以下命令:
hexo init demo
cd demo
npm install
创建
继续阅读 »
Nginx是一个俄罗斯开发的高性能HTTP服务器和反向代理服务器,功能丰富、性能强悍、运行稳定、应用广泛,完全使用C语言编写,可运行于各种Unix Like OS,并有Windows移植版本(不推荐用于生产环境)。
安装
在Ubuntu中,可以直接使用sudo apt-get install nginx 命令安装nginx,安装之后,默认的配置文件保存在 /etc/nginx 文件夹内,默认提供http服务的目录位置在 /usr/local/nginx/html。
配置
nginx的主配置文件是:nginx.conf
```
user www-data; #用户与用户组
worker_processes 4; #对外提
继续阅读 »
Let's Encrypt 是一个免费的SSL证书机构,可以通过Certbot工具进行申请。
Let's Encrypt 网站: https://letsencrypt.org/
Certbot 网站: https://certbot.eff.org/
Certbot Github: https://github.com/certbot/certbot
测试环境: Ubuntu 14.04, python 2.7, nginx 1.4.6
申请过程
1.安装
首先要保证电脑中已经安装了git和nginx,并且能够正确运行。
安装certbot可以从github上面clone,或者直接从官方提供的下载地址进行下载。
继续阅读 »