ubuntu

Ubuntu Jenkins如何自动化部署

小樊
45
2025-08-15 14:54:20
栏目: 智能运维

在Ubuntu上使用Jenkins实现自动化部署,步骤如下:

  1. 安装Jenkins

    • 更新系统并安装依赖:
      sudo apt update  
      sudo apt install openjdk-17-jdk  # 推荐使用OpenJDK 17  
      
    • 添加Jenkins仓库并安装:
      wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -  
      echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list  
      sudo apt update  
      sudo apt install jenkins  
      
    • 启动服务并设置开机自启:
      sudo systemctl start jenkins  
      sudo systemctl enable jenkins  
      
    • 获取初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword,用于首次登录配置。
  2. 安装必要插件

    • 进入 Manage Jenkins → Manage Plugins,安装以下插件:
      • Git Plugin:用于拉取代码仓库。
      • Pipeline Plugin:支持通过Jenkinsfile定义自动化流程。
      • Docker Plugin(可选):若需容器化部署。
      • SSH Pipeline Steps:用于远程服务器部署。
  3. 配置全局工具

    • 进入 Manage Jenkins → Global Tool Configuration,设置JDK、Maven、Git路径(若未自动识别)。
  4. 创建自动化部署任务

    • 新建Pipeline任务
      • 点击 New Item,选择 Pipeline,输入任务名称。
      • 配置 源码管理:选择Git,填入仓库地址及分支。
      • 配置 构建触发器:可选择“轮询SCM”(如每分钟检查一次)或“Webhook”(代码提交时触发)。
    • 编写Jenkinsfile
      在项目根目录创建Jenkinsfile,定义构建、测试、部署步骤。例如:
      pipeline {  
          agent any  
          stages {  
              stage('Build') {  
                  steps {  
                      sh 'mvn clean package'  // Java项目构建  
                  }  
              }  
              stage('Deploy') {  
                  steps {  
                      sshPublisher(  
                          publishers: [  
                              sshPublisherDesc(  
                                  configName: '生产服务器',  
                                  transfers: [  
                                      sshTransfer(  
                                          sourceFiles: 'target/*.jar',  
                                          remoteDirectory: '/app/deploy'  
                                      )  
                                  ]  
                              )  
                          ]  
                      }  
                  }  
              }  
          }  
      }  
      
      (支持Shell脚本、Docker命令等,根据项目需求调整)。
  5. 测试与部署

    • 保存任务后,手动触发构建或等待代码提交自动触发。
    • 查看构建日志,验证部署结果(如远程服务器文件是否更新、服务是否启动)。

优化建议

参考来源:

0
看了该问题的人还看了