将Jenkins部署在二级目录下

启动参数,增加 --prefix /path 即可,如:

docker run -d --restart always --security-opt seccomp=unconfined --name jenkins-server\
  -p 8080:8080 \
  -e JAVA_OPTS="-Xms256m -Xmx2048m -XshowSettings:vm -Dhudson.slaves.NodeProvisioner.initialDelay=0 -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85 -Djenkins.install.runSetupWizard=false -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai" \
  -e JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8" \
  -v ~:/root \
  -v ~:/home/dnet \
  -v $(which docker):/usr/bin/docker \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins-server:2.492.1-lts-hd --prefix=/jenkins

使用websocket代替50000端口

针对Jenkins部署在k8s并使用alb发布服务时,alb没有四层协议,无法发布50000端口的监听。代替方案是改为webSocket的方式进行slave与master通讯。这个方式其实并不复杂,也不需要在Jenkins中配置什么,只需要在启动slave时,增加参数-webSocket 即可

docker run  --init -d --restart always --name jenkins-agent \
  -e JAVA_OPTS="-XX:MaxMetaspaceSize=256m -Xms256m -Xmx2048m" \
  -v ~:/root \
  -v $(which docker):/usr/bin/docker \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins-agent:3283.v92c105e0f819-jdk17  \
  -url http://<jenkins-server:port>  \
  -webSocket \
  <secret> <agent name>
最后修改:2026 年 07 月 12 日
如果觉得我的文章对你有用,请随意赞赏