安装Jenkins到Ubuntu server推荐采用官方文档描述的方法:
http://pkg.jenkins-ci.org/debian/
很快就可以使用了。而且这种方法能够方便的升级到最新版本。不过端口号是8080,我的另一个程序用到了8080,怎么修改呢?
网上一些方法介绍通过nginx或者apache将80端口映射到8080, 还有人说用iptables, 这都是间接迂回。我就是不想让jenkins占用8080端口。
通过检查/etc/init.d/jenkins脚本,发现其实就需要做两步:
1. 修改do_start函数的check_tcp_port命令,端口号从8080换成8082
#
# Function that starts the daemon/service
#
do_start()
{
# the default location is /var/run/jenkins/jenkins.pid but the parent directory needs to be created
mkdir `dirname $PIDFILE` > /dev/null 2>&1 || true
chown $JENKINS_USER `dirname $PIDFILE`
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
$DAEMON $DAEMON_ARGS --running && return 1
# Verify that the jenkins port is not already in use, winstone does not exit
# even for BindException
check_tcp_port "http" "$HTTP_PORT" "8082" || return 1
# If the var MAXOPENFILES is enabled in /etc/default/jenkins then set the max open files to the
# proper value
if [ -n "$MAXOPENFILES" ]; then
[ "$VERBOSE" != no ] && echo Setting up max open files limit to $MAXOPENFILES
ulimit -n $MAXOPENFILES
fi
# --user in daemon doesn't prepare environment variables like HOME, USER, LOGNAME or USERNAME,
# so we let su do so for us now
$SU -l $JENKINS_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -jar $JENKINS_WAR $JENKINS_ARGS" || return 2
}
然后重新启动jenkins, 检查一下:
ps -def | grep java
jenkins 7234 7233 99 11:14 ? 00:00:04 /usr/bin/java -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8082 --ajp13Port=-1
修改成功。