gitlab 8.5之持续集成配置

git lab 8.0版本集成了持续集成功能,这个功能非常方便,可以让你每次提交都执行各种动作,比如单元测试、打包、部署包等, 保证产品质量。这么好的功能怎么用呢?
本文将以linux上安装的gitlab 8.5 社区版为例进行说明。我们假设你已经成功安装或者升级到了这个版本,并且支持http方式clone或者fetch代码(gitlab持续集成时需要通过http方式获取代码)。如果没有,请参考gitlab 官方文档:http://doc.gitlab.com/ce/

我以java项目为例(持续集成与项目语言无关),假设这个gitlab中的项目叫做 hello.

1. 添加.gitlab-ci.yml文件
我们首先需要在项目的根目录中增加一个名为:.gitlab-ci.yml 的文件,这个文件就是用来进行持续集成的配置文件,里面会包含你要执行的脚本等内容,比如我的内容为,

install:
  script:
    - mvn clean install
  tags:
    - hello

这段内容是什么意思呢? 执行一个名字为install的阶段,执行脚本为,

mvn clean install

执行用的标签是hello. 这个hello将用来匹配要使用的gitlab-runner实例。

将这个文件添加到项目中,push到gitlab里面。然后gitlab将触发持续集成,这时,当你打开你这个项目的gitlab主页,点击Builds菜单,你将会看到status 为”pending”的一条集成记录,这说明这个build还没有开始执行。这是因为我们还有gitlab-runner实例没有配置。

2. 配置gitlab runner
下面需要配置点击“pending”,会看到一段文字描述,

This build is stuck, because the project doesn't have any runners online assigned to it. 
Go to Runners page

这个是告知我们因为没有gitlab runner实例所以不能执行。点击它的“Runners page” 链接,会进入一个引导页面,找到如下类似内容,

How to setup a new project specific runner
Install GitLab Runner software. Checkout the GitLab Runner section to install it
Specify following URL during runner setup: http://yourgit-domain/ci
Use the following registration token during setup: CAqZLxBssB6KBFJxxDH-Ff
Start runner!

这段内容告知我们需要先安装gitlab runner, 然后进行配置。好的,先 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md 到了“Register the runner”环节后,可以参照下面执行,录入的几个参数就是上面红色字体部分。在下面输入tags部分时,tags值和.gitlab-ci.yml里面的tags保持一致,这样gitlab-ci才能和我们下面创建的这个gitlab runner实例关联上。

sudo gitlab-ci-multi-runner register

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci )
http://yourgit-domain/ci
Please enter the gitlab-ci token for this runner
CAqZLxBssB6KBFJxxDH-Ff
Please enter the gitlab-ci description for this runner
hello
Please enter the gitlab-ci tags for this runner (comma separated):
hello
Registering runner... succeeded                     runner=CAqZLxBs
Please enter the executor: docker-ssh, virtualbox, ssh, shell, parallels, docker:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

注意,这里我们选择executor为shell就可以,shell是通过我们的shell执行脚本,如果选择docker或者其它还需要进行更多配置。

这样我们就配置完成了。然后,再次进入你的hello项目的主页,看看Builds菜单下面,是不是状态变成了success ? 点开它,你将看到一段执行脚本的执行过程,类似这样(我省略了很多输出)

gitlab-ci-multi-runner 1.0.4 (014aa8c)
Using Shell executor...
Running on hserver...

....

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
...
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec

Results :

Tests run: 6, Failures: 0, Errors: 0, Skipped: 0

...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18 seconds
[INFO] Finished at: Thu Mar 10 22:42:04 CST 2016
[INFO] Final Memory: 39M/519M
[INFO] ------------------------------------------------------------------------

Build succeeded.

是的,就是这么简单!

3. 深入学习
更多配置.gitlab-ci.yml的内容可参考:http://doc.gitlab.com/ce/ci/quick_start/README.html, 更多配置gitlab runner的细节参考:https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md

好好享受gitlab带给我们的效率和快乐吧!

linux mint xfce 在登录界面隐藏用户

如果你不希望某些用户出现在您的linux mint xfce的登录界面,可以执行以下操作:

sudo vi /etc/mdm/mdm.conf

会看到如下类似内容,

[daemon]

[security]

[xdmcp]

[gui]

[greeter]

[chooser]

[debug]

在[greeter] 节点下添加如下内容,

Exclude=nobody,user1,user2

其中,user1和user2是你不希望显示在登录界面的用户名。修改后内容类似,

[daemon]

[security]

[xdmcp]

[gui]

[greeter]
Exclude=nobody,user1,user2
[chooser]

[debug]

然后保存,重启即可。

在文章中显示数学公式

在我们写博客过程中可能涉及要显示数学公式,那么这时让wordpress博客支持数学公式就显得很有必要。现在我讲支持方式写出来:
1. 首先为博客安装插件:MathJax-LaTeX, 它是基于https://www.mathjax.org/

实现的。

2. 在编写博客时,在你想显示数学公式的地方输入latex标签,中间用latex语法输入数学公式即可,比如

数学公式录入

这样就可以显示如下样式的公式,

\( E=mc^2 \)

另一个复杂的例子,

\(\left [ – \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi\)

如果需要查看latex源码,可以在公式上面点击鼠标左键查看。很是方便。

注意:在墙内,默认的mathjax cdn是无法访问的,这样会导致它无法加载,影响公式的渲染展示,这时,请到MathJax-LaTeX 设置页面的Custom MathJax location? 录入一个mathjax cdn,比如我录入的是://cdn.bootcss.com/mathjax/2.6.1-rc.1/MathJax.js, 同时不要勾选Use MathJax CDN Service? ,然后保存。这样就可以正常显示公式了。