18.1.3 单机安装与基础配置

单机安装与基础配置#

导语与目标#

  • 目标:完成 Jenkins 单机部署,能访问 Web 控制台并执行一次成功构建
  • 依赖:JDK 11(推荐)、稳定网络、磁盘 >= 10GB
  • 端口:8080(Web)、50000(JNLP Agent)

原理草图(单机部署)#

文章图片

安装方式与选择建议#

  • 包管理安装(推荐):系统服务管理、自动升级
  • WAR 包运行:快速验证、便于自定义
  • Docker 运行:隔离环境,但需持久化配置

安装方式一:Linux 包管理安装(推荐)#

示例环境:Ubuntu/Debian

# 1) 安装 JDK 11
sudo apt update
sudo apt install -y openjdk-11-jdk

# 验证 JDK 版本
java -version

# 2) 添加 Jenkins 仓库与安装
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc >/dev/null

echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian binary/" | sudo tee \
  /etc/apt/sources.list.d/jenkins.list >/dev/null

sudo apt update
sudo apt install -y jenkins

# 3) 启动与自启
sudo systemctl enable --now jenkins
sudo systemctl status jenkins

命令解释
- systemctl enable --now jenkins:立即启动并设置开机自启
- status jenkins:确认服务运行与最近日志

开放端口

# UFW 防火墙示例
sudo ufw allow 8080/tcp
sudo ufw allow 50000/tcp
sudo ufw reload
sudo ufw status

安装方式二:WAR 包运行(适合测试)#

# 下载并运行
wget https://get.jenkins.io/war-stable/2.452.3/jenkins.war
java -jar jenkins.war --httpPort=8080

# 运行后访问
# http://<IP>:8080

初始化向导与管理员账户#

# 1) 获取初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

# 2) 浏览器访问 Jenkins
# http://<IP>:8080
  • 建议:安装推荐插件
  • 创建管理员账户并记录凭据
  • 设置 Jenkins URL(如 http://:8080)

    基础配置要点(含示例)#

    1) 系统配置(Manage Jenkins → System)
    - Jenkins URL:http://192.168.1.10:8080
    - 邮件通知(可选):SMTP 服务器、端口、发件人

    2) 全局工具配置
    - Git:/usr/bin/git
    - Maven:/opt/maven/bin/mvn
    - JDK:自动检测或手动配置

    3) 构建节点
    - 单机默认使用内置节点(Controller 自身)

    目录与权限#

    • 默认 JENKINS_HOME:/var/lib/jenkins
    • 日志目录:/var/log/jenkins/jenkins.log
    • 权限示例:
    sudo chown -R jenkins:jenkins /var/lib/jenkins
    sudo chown -R jenkins:jenkins /var/log/jenkins
    

    验证:创建任务并执行#

    示例:自由风格任务
    1. 新建任务 → Freestyle
    2. 构建步骤 → Execute shell
    3. 输入如下脚本并构建:

    # 输出环境与工作目录
    echo "Hello Jenkins"
    whoami
    pwd
    date
    

    预期效果
    - 控制台输出中出现 Hello Jenkins
    - 任务状态为 Success

    常见问题排查(含命令)#

    1) 服务无法启动

    # 查看服务状态与日志
    sudo systemctl status jenkins
    sudo journalctl -u jenkins -n 200
    

    可能原因:JDK 版本不兼容、端口冲突、权限问题

    2) 端口被占用

    sudo ss -lntp | grep 8080
    # 修改端口(/etc/default/jenkins)
    sudo sed -i 's/HTTP_PORT=8080/HTTP_PORT=8090/' /etc/default/jenkins
    sudo systemctl restart jenkins
    

    3) 插件安装失败

    # 检查网络与代理
    curl -I https://updates.jenkins.io/update-center.json
    

    处理:配置代理或离线插件包

    练习与巩固#

    1. 将 Jenkins 端口从 8080 改为 8090,并验证可访问
    2. 新建一个任务,输出 JAVA_HOMEPATH
    3. 备份 JENKINS_HOME 并恢复到测试目录

    备份建议#

    # 简易备份(停服务后)
    sudo systemctl stop jenkins
    sudo tar -czf /backup/jenkins_home_$(date +%F).tar.gz /var/lib/jenkins
    sudo systemctl start jenkins