單獨(dú)安裝Jenkins并不復(fù)雜,用Docker安裝Jenkins更加簡(jiǎn)單,甚至將Jenkins與Phabricator集成也不難,但要把一個(gè)運(yùn)行在Docker里的Jenkins和Phabricator相集成,事情就變得不那么容易。
我把所有走過(guò)的坑全部隱藏,直接告訴你最正確的步驟。
通過(guò)Docker安裝Jenkins
這一步似乎很簡(jiǎn)單,但不要按照官方教程上所說(shuō)的來(lái),而按照以下命令執(zhí)行:
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端口沖突(畢竟只要是個(gè)Java程序就想占用8080端口),-e設(shè)置里特意增加了/src/arcanist/bin是為下一步集成Phabricator里的Arcanist做準(zhǔn)備,因?yàn)槿绻辉谶@里設(shè)置好這個(gè)環(huán)境變量的話,后面會(huì)帶來(lái)很大麻煩。
進(jìn)Docker安裝Arc
因?yàn)楣俜教峁┑?code>Docker里根本就沒(méi)有Arcanist,所以我們必須進(jìn)入Docker的容器,手工安裝arc。
docker exec -it -u root jenkins bash
好在這個(gè)Docker并不復(fù)雜,只是一個(gè)Debian,所以我們以root用戶進(jìn)入,然后:
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里,因?yàn)楹竺娌徽撌?code>git還是rsync你都需要它們。然后再以jenkins用戶身份進(jìn)入Docker:
docker exec -it -u jenkins jenkins bash
然后:
arc set-config default http://your.phabricator.com/
cd /var/jenkins_home/.ssh
chmod 600 id_rsa
chmod 600 id_rsa.pub
至此,你已經(jīng)把官方提供的Docker改得面目全非,才算正確地在Docker里安裝好了arc和Jenkins。
配置Phabricator和Jenkins
接下來(lái)的步驟,你就可以參照官方教程一步一步執(zhí)行,我就不再重復(fù)了。
如果你也遇到了類(lèi)似的頭疼問(wèn)題,希望這篇文章能夠?qū)δ阌兴鶈l(fā)。