首页主机资讯centos jenkins怎么实现自动化

centos jenkins怎么实现自动化

时间2025-11-14 10:25:04发布访客分类主机资讯浏览552
导读:在 CentOS 上落地 Jenkins 自动化的关键步骤 一 环境准备与安装 更新系统并安装依赖 执行:sudo yum update -y 安装:Java 8/11(二选一,建议 OpenJDK 11)、Git、wget Ope...

在 CentOS 上落地 Jenkins 自动化的关键步骤


一 环境准备与安装

  • 更新系统并安装依赖
    • 执行:sudo yum update -y
    • 安装:Java 8/11(二选一,建议 OpenJDK 11)、Gitwget
      • OpenJDK 11:sudo yum install java-11-openjdk-devel -y
      • OpenJDK 8:sudo yum install java-1.8.0-openjdk-devel -y
      • Git:sudo yum install git -y
  • 添加 Jenkins 官方仓库并安装
    • 仓库:sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    • 导入 GPG:sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    • 安装:sudo yum install jenkins -y
  • 启动与开机自启
    • sudo systemctl start jenkins
    • sudo systemctl enable jenkins
  • 访问与解锁
    • 浏览器访问:http://< 服务器IP> :8080
    • 初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • 防火墙放行
    • 开放端口:sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
  • 建议
    • 立即修改默认管理员密码,后续通过 HTTPS 访问增强安全性。

二 基础配置与插件

  • 全局工具配置
    • 进入:Manage Jenkins → Global Tool Configuration
    • 配置 JDK(路径或自动安装)、GitMaven(如项目需要)等工具,确保构建节点能找到对应命令。
  • 推荐插件
    • Git pluginMaven Integration pluginPipelineGeneric Webhook TriggerSSH Pipeline Steps(或 Publish Over SSH)、Blue Ocean(可选,优化流水线可视化)。
  • 安全与权限
    • 全局安全配置 中启用基于角色的访问控制(RBAC),并使用 HTTPS 访问控制台。

三 实现自动化触发与流水线

  • 方式一 Freestyle 项目
    • 新建任务 → 选择 Freestyle project
    • 源码管理:配置 Git 仓库 URL、分支、凭证(SSH 或 HTTPS)
    • 构建触发器:
      • 定时构建(轮询 SCM):如 H/5 * * * *(每 5 分钟检查一次变更)
      • 远程触发:安装 Generic Webhook Trigger 插件,配置 Token,供 Git 仓库回调
    • 构建步骤:执行 Maven 构建(如 mvn clean package)、运行测试、归档产物(如 target/*.jar
    • 构建后操作:使用 SSH 将产物发布到目标服务器(如测试/生产环境),或调用部署脚本
  • 方式二 Pipeline 项目(推荐)
    • 在代码库根目录放置 Jenkinsfile,示例:
      pipeline {
      
        agent any
        tools {
       maven 'Maven-3' jdk 'JDK-11' }
       // 与全局工具配置名称保持一致
        stages {
      
          stage('Checkout') {
      
            steps {
       git branch: 'main', url: 'git@github.com:org/repo.git' }
      
          }
      
          stage('Build') {
      
            steps {
       sh 'mvn -B -DskipTests clean package' }
      
          }
      
          stage('Test') {
      
            steps {
       sh 'mvn test' }
      
            post {
       always {
       junit '**/target/surefire-reports/*.xml' }
       }
      
          }
      
          stage('Deploy') {
      
            steps {
      
              sh 'scp target/app.jar user@target:/opt/app/'
              sh 'ssh user@target "systemctl restart myapp || true"'
            }
      
          }
      
        }
      
        post {
       success {
           echo 'Build &
       Deploy SUCCESS' }
       failure {
       echo 'Build FAILED' }
       }
      
      }
          
      
    • Jenkins 任务选择 Pipeline script from SCM,指定仓库与 Jenkinsfile 路径。

四 与 Git 仓库联动的 Webhook 配置

  • GitHub / GitLab / Gitee 等平台
    • 在仓库的 Webhooks 设置中,添加 Payload URL:
      • 例如:http://< JENKINS_URL> /generic-webhook-trigger/invoke
      • 选择触发事件(如 Push eventsMerge Request 等),配置 Secret Token(与 Jenkins 任务中的 Token 一致)
    • 若 Jenkins 在内网,使用 内网穿透/反向代理 或企业版 GitHub EnterpriseOutbound Webhooks 能力
  • 安全建议
    • 使用 HTTPS + Token 校验,限制可触发分支(如仅 main),并在 Jenkins 中启用 CSRF 保护。

五 常见场景与扩展

  • 容器化交付
    • 在 Jenkins 节点安装 Docker,在流水线中构建镜像并推送到仓库,然后在目标环境拉取并启动容器(可使用 Docker Pipeline 插件或 docker-compose)。
  • 多环境部署与回滚
    • 通过参数化构建选择 dev/staging/prod,结合 SSHK8s 插件完成滚动升级;保留最近 N 个构建产物以便快速回滚。
  • 安全与运维
    • Jenkins 用户运行构建步骤,注意目录与文件权限;定期更新 Jenkins 与插件;为生产环境启用 HTTPS 与访问控制。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos jenkins怎么实现自动化
本文地址: https://pptw.com/jishu/747786.html
centos jenkins如何进行监控 centos dolphin开发文档

游客 回复需填写必要信息