單獨安裝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
接下來的步驟,你就能夠參照官方教程一步一步執行,我就再也不重複了。
若是你也遇到了相似的頭疼問題,但願這篇文章可以對你有所啓發。