温馨提示×

jenkins在debian上的安装与配置

小樊
44
2025-10-19 02:53:06
栏目: 智能运维

1. 环境准备:安装Java环境
Jenkins是基于Java的应用程序,需先安装Java运行环境(推荐OpenJDK 11)。在Debian终端执行以下命令:

sudo apt update && sudo apt install -y openjdk-11-jdk

验证Java安装是否成功:

java -version

输出应包含Java版本信息(如openjdk version "11.x.x"),确认Java环境配置正确。

2. 添加Jenkins官方仓库
为确保安装最新稳定版Jenkins,需添加Jenkins官方APT仓库:

  • 导入Jenkins GPG密钥(用于验证软件包完整性):
    wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
    
  • 添加Jenkins仓库源到系统:
    echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
    
  • 更新APT包列表:
    sudo apt update
    

以上步骤完成后,系统已准备好安装Jenkins。

3. 安装与启动Jenkins服务
通过APT包管理器安装Jenkins:

sudo apt install -y jenkins

安装完成后,启动Jenkins服务并设置为开机自启动:

sudo systemctl enable jenkins  # 设置开机自启
sudo systemctl start jenkins   # 立即启动服务

检查Jenkins服务状态,确认运行正常:

sudo systemctl status jenkins

若输出显示“active (running)”,则表示Jenkins服务已成功启动。

4. 初始配置:解锁Jenkins与创建管理员账户

  • 获取初始解锁密码
    首次访问Jenkins需输入初始管理员密码,该密码存储在以下文件中:

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    

    复制输出的密码,用于后续解锁步骤。

  • 访问Jenkins管理界面
    在浏览器中输入服务器IP地址及默认端口(8080),例如:http://your_server_ip:8080
    在解锁页面粘贴上述密码,点击“Continue”进入下一步。

  • 安装推荐插件
    为简化配置,建议选择“Install suggested plugins”(安装推荐插件),Jenkins会自动安装常用插件(如Git、Pipeline、SSH等),提升后续使用体验。

  • 创建管理员账户
    插件安装完成后,设置管理员账户信息(用户名、密码、全名、邮箱),点击“Save and Finish”完成创建。

  • 完成初始设置
    最后一步选择“Start using Jenkins”,即可进入Jenkins主界面。

5. 基础配置:优化Jenkins使用体验

  • 更换国内镜像源(加速插件安装)
    若使用默认插件源速度较慢,可更换为国内镜像(如清华大学镜像)。编辑Jenkins插件源配置文件:

    sudo nano /etc/apt/sources.list.d/jenkins.list
    

    将原内容替换为:

    deb https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    

    保存退出后,重启Jenkins服务使配置生效:

    sudo systemctl restart jenkins
    
  • 配置防火墙
    若系统启用了UFW防火墙,需开放Jenkins默认端口(8080),允许外部访问:

    sudo ufw allow 8080
    

    验证防火墙规则:

    sudo ufw status
    

    输出应包含“8080/tcp ALLOW”字样。

6. 进阶配置:创建第一个Pipeline任务
Jenkins的核心功能是通过Pipeline实现自动化构建、测试与部署。以下以简单的“拉取代码+运行测试+构建”Pipeline为例,演示任务创建流程:

  • 新建Pipeline任务
    在Jenkins主界面点击“New Item”,输入任务名称(如“my-pipeline”),选择“Pipeline”类型,点击“OK”。

  • 配置Pipeline

    • 在“Pipeline” tab中,选择“Pipeline script from SCM”(从SCM获取Pipeline脚本),SCM类型选择“Git”。
    • 输入代码仓库URL(如GitHub仓库地址:https://github.com/yourname/my-repo.git)。
    • 在“Credentials”中添加Git仓库凭据(若仓库为私有,需配置SSH密钥或用户名/密码)。
    • 在“Script Path”中指定Pipeline脚本文件路径(如Jenkinsfile,需存在于仓库根目录)。
  • 编写Pipeline脚本
    在仓库根目录创建Jenkinsfile,定义Pipeline流程(示例):

    pipeline {
        agent any  // 使用任意可用节点执行任务
        stages {
            stage('拉取代码') {
                steps {
                    git branch: 'main', url: 'https://github.com/yourname/my-repo.git'  // 拉取指定分支代码
                }
            }
            stage('运行测试') {
                steps {
                    sh 'python -m pytest tests/'  // 执行测试脚本(需提前安装pytest)
                }
            }
            stage('构建打包') {
                steps {
                    sh 'python setup.py sdist bdist_wheel'  // 构建Python包
                }
            }
        }
        post {
            always {
                echo '构建完成!'  // 无论成功失败均执行的步骤
            }
        }
    }
    
  • 运行任务
    保存配置后,点击“Build Now”手动触发任务。在“Build History”中查看任务执行状态,点击具体构建记录可查看控制台输出(如测试结果、构建日志)。

注意事项

  • 若需更复杂的CI/CD流程(如Docker集成、Kubernetes部署),可安装对应插件(如“Docker Pipeline”“Kubernetes”),并在Pipeline脚本中添加相应步骤。
  • 生产环境中,建议配置Jenkins备份(如备份/var/lib/jenkins目录)、启用HTTPS(通过Nginx反向隧道)、限制用户权限(使用“Role-based Authorization Strategy”插件),提升安全性。

0