红联Linux门户
Linux帮助

ubuntu 16.04 Jenkins更改端口和改变语言设置

发布时间:2016-07-05 14:57:43来源:linux网站作者:mingjie1212
使用ubuntu apt 安装jenkins 默认的端口是8080,此端口和tomcat的端口一般会有冲突,tomcat的端口一般就不太会改。我们就来改一下jenkins的端口来解决这个问题。
 
一般我们apt 安装的服务 都会再/etc/init.d/下有启动文件。
找到/etc/init.d/jenkins
查找得知以下常用的信息:
pid:/var/run/jenkins/jenkins.pid
启动一般是守护的。
默认配置文件在/etc/default/jenkins下
默认语言文件:/etc/default/locale
端口的更改可以再/etc/default/jenkins里找到8080,更改成你想设置的那个。
然后重启服务
sudo service jenkins restart  
即可。
 
而jenkins的语言设置是根据/etc/default/locale
你可以在此文件 或者 启动脚本里更改此选项 来更换语言显示;建议改脚本而不是改locale  ,因为更改locale会影响ubuntu的系统显示
更方便的修改显示语言的方法是浏览器中设置浏览器的语言显示,这样jenkins的web也会根据此设置来显示具体的语言,不再演示。
 
贴出jenkins脚本:
#!/bin/bash  
# /etc/init.d/jenkins  
# debian-compatible jenkins startup script.  
# Amelia A Lewis <alewis@ibco.com>  
#  
### BEGIN INIT INFO  
# Provides:  jenkins  
# Required-Start:$remote_fs $syslog $network  
# Required-Stop: $remote_fs $syslog $network  
# Default-Start: 2 3 4 5  
# Default-Stop:  0 1 6  
# Short-Description: Start Jenkins at boot time  
# Description:   Controls Jenkins Continuous Integration Server  
### END INIT INFO  
PATH=/bin:/usr/bin:/sbin:/usr/sbin  
DESC="Jenkins Continuous Integration Server"  
NAME=jenkins  
SCRIPTNAME=/etc/init.d/$NAME  
[ -r /etc/default/$NAME ] && . /etc/default/$NAME  
#DAEMON=$JENKINS_SH  
DAEMON=/usr/bin/daemon  
DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE"  
if [ -n "$UMASK" ]; then  
DAEMON_ARGS="$DAEMON_ARGS --umask=$UMASK"  
fi  
SU=/bin/su  
# Exit if the package is not installed  
if [ ! -x "$DAEMON" ]; then  
echo "daemon package not installed" >&2  
exit 1  
fi  
# Exit if not supposed to run standalone  
if [ "$RUN_STANDALONE" = "false" ]; then  
echo "Not configured to run standalone" >&2  
exit 1  
fi  
# load environments  
if [ -r /etc/default/locale ]; then  
. /etc/default/locale  
export LANG LANGUAGE  
elif [ -r /etc/environment ]; then  
. /etc/environment  
export LANG LANGUAGE  
fi  
# Load the VERBOSE setting and other rcS variables  
. /lib/init/vars.sh  
# Define LSB log_* functions.  
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.  
. /lib/lsb/init-functions  
# Make sure we run as root, since setting the max open files through  
# ulimit requires root access  
if [ `id -u` -ne 0 ]; then  
echo "The $NAME init script can only be run as root"  
exit 1  
fi 
check_tcp_port() {  
local service=$1  
local assigned=$2  
local default=$3 
if [ -n "$assigned" ]; then   
port=$assigned  
else  
port=$default  
fi  
count=`netstat --listen --numeric-ports | grep \:$port[[:space:]] | grep -c . `  
if [ $count -ne 0 ]; then  
echo "The selected $service port ($port) seems to be in use by another program "  
echo "Please select another port to use for $NAME"  
return 1  
fi  
}  
#  
# 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" "8080" || return 2  
# 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  
# notify of explicit umask  
if [ -n "$UMASK" ]; then  
[ "$VERBOSE" != no ] && echo Setting umask to $UMASK  
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  
}  
#  
# Verify that all jenkins processes have been shutdown  
# and if not, then do killall for them  
#   
get_running()   
{  
return `ps -U $JENKINS_USER --no-headers -f | egrep -e '(java|daemon)' | grep -c . `  
}
force_stop()   
{  
get_running  
if [ $? -ne 0 ]; then   
killall -u $JENKINS_USER java daemon || return 3  
fi  
}
# Get the status of the daemon process  
get_daemon_status()  
{  
$DAEMON $DAEMON_ARGS --running || return 1  
}  
#  
# Function that stops the daemon/service  
#  
do_stop()  
{  
# Return  
#   0 if daemon has been stopped  
#   1 if daemon was already stopped  
#   2 if daemon could not be stopped  
#   other if a failure occurred  
get_daemon_status   
case "$?" in  
0)   
$DAEMON $DAEMON_ARGS --stop || return 2  
# wait for the process to really terminate  
for n in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do  
sleep 1  
$DAEMON $DAEMON_ARGS --running || break  
done  
if get_daemon_status; then  
force_stop || return 3  
fi  
;;  
*)  
force_stop || return 3  
;;  
esac
# Many daemons don't delete their pidfiles when they exit.  
rm -f $PIDFILE  
return 0  
}
# Verify the process did in fact start successfully and didn't just bomb out  
do_check_started_ok() {  
sleep 1  
if [ "$1" -ne "0" ]; then return $1; fi  
get_running  
if [ "$?" -eq "0" ]; then  
return 2  
else   
return 0  
fi  
}
case "$1" in  
start)  
log_daemon_msg "Starting $DESC" "$NAME"  
do_start  
START_STATUS="$?"  
do_check_started_ok "$START_STATUS"  
case "$?" in  
0|1) log_end_msg 0 ;;  
2) log_end_msg 1 ; exit 7 ;;  
esac  
;;  
stop)  
log_daemon_msg "Stopping $DESC" "$NAME"  
do_stop  
case "$?" in  
0|1) log_end_msg 0 ;;  
2) log_end_msg 1 ; exit 100 ;;  
esac  
;;  
restart|force-reload)  
#  
# If the "reload" option is implemented then remove the  
# 'force-reload' alias  
#  
log_daemon_msg "Restarting $DESC" "$NAME"  
do_stop  
case "$?" in  
0|1)  
do_start  
START_STATUS="$?"  
sleep 1  
do_check_started_ok "$START_STATUS"  
case "$?" in  
0) log_end_msg 0 ;;  
1) log_end_msg 1 ; exit 100 ;; # Old process is still running  
*) log_end_msg 1 ; exit 100 ;; # Failed to start  
esac  
;;  
*)  
# Failed to stop  
log_end_msg 1  
;;  
esac  
;;  
status)  
get_daemon_status  
case "$?" in   
0)   
echo "$DESC is running with the pid `cat $PIDFILE`"  
rc=0  
;;  
*)   
get_running  
procs=$?  
if [ $procs -eq 0 ]; then   
echo -n "$DESC is not running"  
if [ -f $PIDFILE ]; then   
echo ", but the pidfile ($PIDFILE) still exists"  
rc=1  
else   
echo  
rc=3  
fi
else   
echo "$procs instances of jenkins are running at the moment"  
echo "but the pidfile $PIDFILE is missing"  
rc=0  
fi
exit $rc  
;;  
esac  
;;  
*)  
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2  
exit 3  
;;  
esac
exit 0
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22086.html