很快就可以使用了。而且这种方法能够方便的升级到最新版本。不过端口号是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
修改成功。