单独安装Jenkins
并不复杂,用Docker
安装Jenkins
更加简单,甚至将Jenkins
与Phabricator
集成也不难,但要把一个运行在Docker
里的Jenkins
和Phabricator
相集成,事情就变得不那么容易。php
我把全部走过的坑所有隐藏,直接告诉你最正确的步骤。git
这一步彷佛很简单,但不要按照官方教程上所说的来,而按照如下命令执行:github
docker run --name jenkins -p 8088:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -e PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/src/arcanist/bin' jenkins/jenkins
-p 8088:8080
是为了不8080
端口冲突(毕竟只要是个Java
程序就想占用8080
端口),-e
设置里特地增长了/src/arcanist/bin
是为下一步集成Phabricator
里的Arcanist
作准备,由于若是不在这里设置好这个环境变量的话,后面会带来很大麻烦。docker
由于官方提供的Docker
里根本就没有Arcanist
,因此咱们必须进入Docker
的容器,手工安装arc
。vim
docker exec -it -u root jenkins bash
好在这个Docker
并不复杂,只是一个Debian
,因此咱们以root
用户进入,而后:bash
apt-get update apt-get install php apt-get install php-curl apt-get install rsync apt-get install vim mkdir /src cd /src git clone git://github.com/facebook/libphutil.git git clone git://github.com/facebook/arcanist.git
把你的ssh
公钥私钥文件拷到/var/jenkins_home/.ssh
里,由于后面不管是git
仍是rsync
你都须要它们。而后再以jenkins
用户身份进入Docker
:ssh
docker exec -it -u jenkins jenkins bash
而后:curl
arc set-config default http://your.phabricator.com/ cd /var/jenkins_home/.ssh chmod 600 id_rsa chmod 600 id_rsa.pub
若是须要rsync
任何主机,则必须首先ssh
到该主机一次,把该主机的地址加入到known_hosts
文件中,rsync
方能成功。url
至此,你已经把官方提供的Docker
改得面目全非,才算正确地在Docker
里安装好了arc
和Jenkins
。code
接下来的步骤,你就能够参照官方教程一步一步执行,我就再也不重复了。
若是你也遇到了相似的头疼问题,但愿这篇文章可以对你有所启发。