Linux离线部署Jenkins

Jenkins 是一个开源的自动化服务器,可以自动完成定义的任务,在持续集成和持续交付(CI/CD)流程里被广泛运用。

1. 离线部署Jenkins

1.1. 前期准备

  • 下载Jenkins安装包

Jenkins官方下载页面获取适合的版本:Linux系统推荐下载.war文件

*注:关注java版本与支持的jenkins的 版本对应关系 *

  • 下载插件

提前从Jenkins插件市场下载所需插件(.hpi.jpi文件)

1.2 安装JDK(Linux)

  • 解压JDK
tar -zxvf jdk-xxxxx.tar.gz -C /usr/local/
  • 配置环境变量

编辑/etc/profile,添加:

export JAVA_HOME=/usr/local/jdk-xxxxx
export PATH=$JAVA_HOME/bin:$PATH
  • 使配置生效:
source /etc/profile
  • 验证安装
java -version

1.3. 安装Jenkins(WAR包方式)

  • 上传WAR包到服务器(如/opt/jenkins

  • 启动命令:

java -jar /opt/jenkins/jenkins.war --httpPort=[portNum]

注:端口好自己设置,另外注意访问ip限制,关注下文参数介绍中httpListenAddress参数。

  • 后台运行:
nohup java -jar /opt/jenkins/jenkins.war --httpPort=8080 &

1.4. 安装插件

  • 访问Jenkins管理界面:http://your_server_ip:[portNum]

  • 进入 管理Jenkins管理插件

  • 点击 高级 选项卡

  • 上传插件 部分选择本地.hpi.jpi文件上传

1.5. 初始配置

  • 获取初始管理员密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
  • 访问Web界面,按向导完成用户创建和基础设置

  • 如果要修改密码,可以在登录后点击右上角的用户->"configure",然后进入页面进行修改

2. Linux中Jenkins启动参数配置

2.1. 命令行直接启动参数

通过java -jar jenkins.war启动时添加参数:

java -jar jenkins.war \
--httpPort=8080 \ # HTTP端口(默认8080)
--httpsPort=8443 \ # HTTPS端口
--httpListenAddress=0.0.0.0 \ # 监听地址
--prefix=/jenkins \ # URL前缀
--logfile=/var/log/jenkins.log \ # 日志路径
--webroot=/var/cache/jenkins \ # WAR解压目录
--ajp13Port=8009 \ # AJP端口(反向代理)

2.2. 系统服务配置参数

2.2.1 systemd服务(推荐)

  • 编辑服务配置:
sudo vi /etc/systemd/system/jenkins.service
  • [Service]部分添加环境变量:
[Service]
Environment="JENKINS_OPTS=--httpPort=8080 --prefix=/jenkins"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Xmx512m"
  • 重载并重启:
sudo systemctl daemon-reload
sudo systemctl restart jenkins

2.3. 常用启动参数列表

参数 描述 示例
--httpPort HTTP端口 --httpPort=8080
--httpsPort HTTPS端口 --httpsPort=8443
--httpListenAddress 监听IP --httpListenAddress=127.0.0.1
--prefix URL前缀 --prefix=/jenkins
--logfile 日志文件路径 --logfile=/var/log/jenkins.log
--webroot WAR解压目录 --webroot=/var/cache/jenkins
--ajp13Port AJP端口 --ajp13Port=8009
JAVA_OPTS JVM参数 -Xmx1024m -Dfile.encoding=UTF-8

2.4. 高级参数配置

2.4.1 HTTPS配置

java -jar jenkins.war \
--httpsPort=8443 \
--httpsKeyStore=/path/to/keystore.jks \
--httpsKeyStorePassword=yourpassword

2.4.2 内存优化

JAVA_OPTS="-Xms512m -Xmx1024m -Djava.awt.headless=true"
java $JAVA_OPTS -jar jenkins.war

2.4.3 禁用CSRF保护(测试环境)

java -jar jenkins.war --disable-hudson.security.csrf.CrumbIssuer

2.5. 验证参数生效

  • 查看启动日志:
sudo cat /var/log/jenkins/jenkins.log
  • 检查参数是否正确加载

3. 注意事项

  • 端口冲突:确保端口未被占用(netstat -tulpn | grep 8080

  • 安全建议

    • 生产环境强制使用HTTPS

    • 限制监听地址为内网IP

  • 性能优化

    • 根据服务器资源调整JVM内存参数

    • 定期清理Jenkins工作目录
      通过以上步骤,可完成Jenkins离线部署并灵活配置启动参数。

posted on 2025-05-10 13:38  silentteen  阅读(374)  评论(0)    收藏  举报