2017-01-18 Meng Lei
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上。 并行构 继续阅读 »
2017-01-17 Meng Lei
Gitlab简介 Gitlab 是一个用于管理GIT代码库的项目,提供权限管理、代码review、问题跟踪、wiki以及持续集成等多种功能,Gitlab 一共提供四种版本可供用户选择,分别是 - Gitlab Community Edition (CE):社区版,免费,用户自行托管,通过社区提供技术支持 - Gitlab Enterprise Edition (EE):企业版,付费,用户自行托管,提供附加的功能以及技术支持 - Gitlab.com:免费的SaaS服务,可以创建共有以及私有的版本库,可以购买额外的技术支持 - GitHost.io:由Gitlab提供的用户私有的独享服务 我们使用的是Gitlab CE版本。 G 继续阅读 »
2017-01-02 Meng Lei
什么是Websocket Websocket 是HTML5开始推出的一种新的协议,实现了浏览器与服务端的全双工通信,在使用WebSocket时,,只要和服务端做一个握手(handshaking)动作,浏览器首先要向服务端发起一个特殊的HTTP请求,其头部附加了信息Upgrade: WebSocket,表明这是一个申请协议升级的HTTP请求,服务端解析出来这些信息后,产生一个应答给客户端,这样双方的WebSocket连接就建立起来了,即可形成一条全双工的数据通道,两者之间可以进行互相通信,直到客户端和服务端中的某一方主动关闭连接。 在WebSocket出现之前,为了解决浏览器和服务端之间的实时推送问题,采取了很多解决方案,通常使用 继续阅读 »
2016-12-12 Meng Lei
关于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 继续阅读 »
2016-12-05 Meng Lei
Travis CI 简介 Travis CI是一个分步式的开源持续构建项目,只需要通过配置.travis.yml文件,即可将Github上的项目进行持续的编译、测试等工作,以便尽早发现错误,尽早改正,并减少人工的重复劳动。同时,也可以通过travis ci完成很多有趣的工作。 通过Travis CI自动发布hexo博客 我们建立的hexo博客,每次写完一篇,都要执行 hexo generate 和 hexo deploy 等命令,将博客生成的HTML静态文件部署到Github的版本库上,同时,也会将源代码保存一份到Github的另一个分支,每次都要执行很多重复操作,在此,我们可以通过Travis CI来帮我们完成这些重复劳动。 继续阅读 »
2016-11-07 Meng Lei
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 继续阅读 »
2016-10-29 Meng Lei
Node.js代理服务器 出于信息安全的需求,很多公司对于员工电脑访问外网都会有很多特别的限制,比如某国内大型上市IT解决方案供应商,所有的员工电脑必须通过某个指定的HTTP代理服务器访问互联网资源,并且还要进行用户名密码的验证,导致很多无法设置代理服务器的软件以及仅支持socks5代理的软件都无法使用,甚至想要在调试应用的时候调用一些第三方api都需要做很多特殊设置。 比如正常的Node.js在做HTTP请求的时候,代码如下: var http = require('http'); var opt = { host: 'api.example.com', //要访问的服务器地址或者域名 port: 808 继续阅读 »
2016-10-24 Meng Lei
关于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 创建 继续阅读 »
2016-10-21 Meng Lei
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; #对外提 继续阅读 »
2016-10-18 Meng Lei
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,或者直接从官方提供的下载地址进行下载。 继续阅读 »