shell Android HTML5 程序员 linux centos Python Firefox java 微软 nginx Ubuntu google mysql 开源 php wordpress linux命令 Windows apache

在Gentoo Linux系统安装jenkins

Jenkins,之前叫做Hudson,是基于JAVA开发的一种持续集成工具,用于监控秩序重复的工作,jenkins没有在Gentoo的portage树里,不能直接安装。 这里我们选择用户自己编写的ebuild脚本。

对比手工安装ebuild里自动处理好软件包依赖,启动脚本等。当然,如果是个人安装试验的 那就更简单的。

到 http://jenkins-ci.org/ 下载war文件包

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
java -jar jenkins.war

就能默认的跑起来了

配置emerge 的OVERLAY

源地址:https://github.com/Godin/gentoo-overlay

如果没有layman等扩展软件,可以直接 git clone 下来,然后设置/etc/make.confPORTDIR_OVERLAY到对应目录生效。

这里我们选择layman方式

emerge -av layman
echo "source /var/lib/layman/make.conf " >> /etc/make.conf
echo "PORTDIR_OVERLAY="${PORTDIR} ${PORTDIR_OVERLAY}"" >>/etc/make.conf
layman -f -o http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml -a godin
layman -S
layman -L
layman -a godin
eix-update

这时 eix jenkins 就能看到软件包信息了:

# eix jenkins
* dev-util/jenkins-bin [1]
Available versions:......{{elibc_FreeBSD}}
Homepage: http://jenkins-ci.org/
Description: Extensible continuous integration server
"godin" /var/lib/layman/godin

安装软件

jenkins是java程序,依赖jdk等一大堆软件包, 其中画图依赖 x11-libs/cairo 需要X的相关库的支持。

echo "x11-libs/cairo X" >/etc/portage/package.use/00_jenkins
emerge -av dev-util/jenkins-bin

喝杯茶 就好装好了

基本配置

编辑/etc/conf.d/jenkins修改端监听端口什么的

#
# Whether to enable access logging or not.
#
JENKINS_ENABLE_ACCESS_LOG="yes"
#
# Maximum number of HTTP worker threads.
#
JENKINS_HANDLER_MAX="50"
#
# Maximum number of idle HTTP worker threads.
#
JENKINS_HANDLER_IDLE="5"

启动服务

/etc/init.d/jenkins start

开机启动 如果需要的话

rc-update add jenkins default

增加Nginx前端代理

/etc/nginx/site/jenkins.XXX.conf

upstream jenkins {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 210.14.138.122:80;
server_name jenkins.XXX.net;
location / {
proxy_set_header host $http_host;
proxy_set_header X-Real-ip $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Pragma "no-cache";
proxy_pass http://jenkins;
}
access_log /var/log/nginx/jenkins.access_log main;
error_log /var/log/nginx/jenkins.error_log info;
}

延伸阅读

评论