如何在Docker里正确集成Jenkins和Phabricator

|用Docker安装Jenkins非常简单,但要把一个运行在Docker里的Jenkins和Phabricator相集成,事情就变得不那么容易。

单独安装Jenkins并不复杂,用Docker安装Jenkins更加简单,甚至将Jenkins与Phabricator集成也不难,但要把一个运行在Docker里的Jenkins和Phabricator相集成,事情就变得不那么容易。

我把所有走过的坑全部隐藏,直接告诉你最正确的步骤。

这一步似乎很简单,但不要按照官方教程上所说的来,而按照以下命令执行:

docker run --name jenki  ns -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里根本就没有Arcanist,所以我们必须进入Docker的容器,手工安装arc。

docker exec -it -u root jenkins bash  

好在这个Docker并不复杂,只是一个Debian,所以我们以root用户进入,然后:

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:

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  

至此,你已经把官方提供的Docker改得面目全非,才算正确地在Docker里安装好了arc和Jenkins。

接下来的步骤,你就可以参照官方教程一步一步执行,我就不再重复了。

如果你也遇到了类似的头疼问题,希望这篇文章能够对你有所启发。

原文出处:tuisec -> https://paper.tuisec.win/detail/5c1e381724018f1

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。