温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何搭建Jenkins自动化服务器

发布时间:2025-12-24 21:22:46 来源:亿速云 阅读:114 作者:小樊 栏目:系统运维

搭建 Jenkins 自动化服务器

一 环境准备与安装

  • 准备一台可外网访问的服务器(如 Ubuntu 20.04/22.04CentOS 7/8Debian 11/12),并安装 Java 11 或 17(Jenkins 2.361+ 建议使用 Java 11+)。
  • Ubuntu/Debian 示例:
    • 安装 Java:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 导入 Jenkins 仓库并安装:
      wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
      echo "deb https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
      sudo apt update && sudo apt install -y jenkins
      sudo systemctl start jenkins && sudo systemctl enable jenkins
      
  • CentOS/RHEL 示例:
    • 安装 Java:sudo yum install -y java-11-openjdk-devel
    • 导入仓库并安装(以官方 YUM 源为准):
      sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
      sudo yum install -y jenkins
      sudo systemctl start jenkins && sudo systemctl enable jenkins
      
  • 验证:sudo systemctl status jenkinsjava -versionss -tlnp | grep 8080(默认监听 8080 端口)。

二 反向代理与域名访问

  • 使用 Apache 作为反向代理(Ubuntu/Debian 常见做法):
    • 启用模块:sudo a2enmod proxy proxy_http
    • 新建虚拟主机(/etc/apache2/sites-available/jenkins.conf):
      <VirtualHost *:80>
        ServerName jenkins.example.com
        ProxyRequests Off
        ProxyPreserveHost On
        AllowEncodedSlashes NoDecode
        <Proxy http://localhost:8080/*>
          Require all granted
        </Proxy>
        ProxyPass         /  http://localhost:8080/  nocanon
        ProxyPassReverse  /  http://localhost:8080/
      </VirtualHost>
      
    • 启用站点并重启:sudo a2ensite jenkins && sudo systemctl restart apache2 && sudo systemctl restart jenkins
  • 使用 Nginx 亦可(示例核心配置):
    server {
      listen 80;
      server_name jenkins.example.com;
      location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
    }
    
  • 防火墙放行:
    • UFW:sudo ufw allow 80,443,8080/tcp
    • firewalld:sudo firewall-cmd --permanent --add-service=http --add-service=https && sudo firewall-cmd --reload
  • 访问:浏览器打开 http://服务器IP:8080http://域名

三 初始化与安全配置

  • 解锁:查看初始管理员密码
    • Debian/Ubuntu:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • CentOS/RHEL:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • 安装插件:首次进入选择 Install Suggested Plugins,或后续在 Manage Jenkins → Manage Plugins 安装常用插件(如 GitMaven IntegrationPipelineJUnitEmail Extension)。
  • 全局工具配置:进入 Manage Jenkins → Global Tool Configuration,配置 JDK(取消自动安装,填写路径)、GitMaven 等。
  • 安全设置:进入 Manage Jenkins → Configure Global Security
    • 勾选 Enable Security,选择 Matrix-based Security,为 admin 授予全部权限,按需为匿名用户设置只读或禁用。
    • 建议开启 CSRF Protection,并使用强密码策略。

四 创建第一个任务与流水线

  • Freestyle 任务(快速验证)
    • 新建任务 → 选择 Freestyle project → 源码管理选 Git 填入仓库 URL 与凭据。
    • 构建步骤选 Execute shell,示例:mvn clean package./gradlew build
    • 构建后操作可归档产物、发布测试报告等。
  • Pipeline 任务(推荐,Pipeline as Code)
    • 新建任务 → 选择 Pipeline → 在 Pipeline 定义中选择 Pipeline scriptSCM 加载 Jenkinsfile
    • 示例 Jenkinsfile(Maven + JUnit 报告):
      pipeline {
        agent any
        tools {
          maven 'Maven-3.8'   // 需在 Global Tool Configuration 中预先配置
          jdk 'JDK-11'
        }
        stages {
          stage('Checkout') {
            steps { git url: 'https://github.com/your-org/your-repo.git', branch: 'main' }
          }
          stage('Build') {
            steps { sh 'mvn clean package -DskipTests' }
          }
          stage('Test') {
            steps { sh 'mvn test' }
            post { always { junit '**/target/surefire-reports/*.xml' } }
          }
          stage('Deploy') {
            steps { sh 'scp target/app.jar user@prod:/opt/app/' }
          }
        }
      }
      
    • 保存后点击 Build Now 验证。

五 常见问题与优化建议

  • 插件更新慢或失败:在 Manage Jenkins → Manage Plugins → AdvancedUpdate Site 改为国内镜像(如清华源)后重试。
  • 构建并发与资源:在 Manage Jenkins → Configure System 调整 # of executors(建议与 CPU 核数匹配),并配置 Jenkins URL、环境变量、邮件等。
  • 主目录与备份:通过环境变量 JENKINS_HOME 指定主目录;定期备份 $JENKINS_HOME(含 jobs、plugins、config.xml 等),必要时使用 Reload Configuration from Disk 热加载。
  • 分布式构建:在 Manage Jenkins → Manage Nodes and Clouds 添加 Agent 节点,提高并行构建能力与稳定性。
  • 安全加固:限制 代理端口 8080 仅本地访问(仅反向代理可连),开启 HTTPS/TLS,最小权限原则分配用户与凭据,定期升级 Jenkins 与插件。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI