TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:

TOP云总站云服务器:https://topyun.vip/server/buy.html

TOP云C站云服务器:https://c.topyun.vip/cart

    在云服务器上使用 Jenkins 实现 CI/CD(持续集成/持续交付) 是现代软件开发中的最佳实践之一。Jenkins 是一个开源的自动化工具,广泛用于构建、测试和部署应用程序。通过 Jenkins,你可以实现代码的自动化构建、测试、打包、发布等流程,从而提高开发效率和软件质量。

    以下是从 环境准备 到 完整 CI/CD 流程搭建 的详细指南,帮助你在云服务器上使用 Jenkins 实现 CI/CD。


    一、CI/CD 的基本概念

    • CI(持续集成):开发人员频繁地将代码变更合并到共享的主干(如 Git 的 main 分支),每次合并都会触发自动化构建和测试,确保代码始终处于可集成状态。

    • CD(持续交付/持续部署):在 CI 的基础上,自动将构建好的应用部署到测试环境、预发布环境甚至生产环境,实现快速交付。


    二、在云服务器上使用 Jenkins 实现 CI/CD 的整体流程

    1. 环境准备:在云服务器上安装 Jenkins。

    2. 配置 Jenkins:安装必要的插件,配置 Jenkins 的全局工具(如 Git、JDK、Maven 等)。

    3. 创建 Jenkins 项目:配置源码管理(如 Git)、构建触发器、构建步骤等。

    4. 编写构建脚本:定义构建、测试、打包等流程(如使用 Maven、Gradle、Shell 脚本等)。

    5. 配置部署流程:将构建产物(如 JAR 包、Docker 镜像等)部署到目标环境(如测试服务器、生产服务器)。

    6. 测试与优化:验证 CI/CD 流程是否正常工作,并根据需求优化配置。


    三、在云服务器上安装 Jenkins

    1. 环境要求

    • 云服务器(如阿里云 ECS、腾讯云 CVM、AWS EC2 等)

    • 操作系统:推荐使用 Linux(如 Ubuntu、CentOS)

    • Java 环境:Jenkins 依赖 Java,需安装 JDK(推荐 JDK 11 或 JDK 17)

    2. 安装 Java

    以 Ubuntu 为例:

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

    验证安装:

    java -version

    3. 安装 Jenkins

    (1)添加 Jenkins 的官方仓库

    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb https://pkg.jenkins.io/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

    (2)更新软件包索引并安装 Jenkins

    sudo apt update
    sudo apt install jenkins -y

    (3)启动 Jenkins 并设置开机自启

    sudo systemctl start jenkins
    sudo systemctl enable jenkins

    (4)检查 Jenkins 状态

    sudo systemctl status jenkins

    如果状态显示为 active (running),说明 Jenkins 已成功启动。

    (5)访问 Jenkins

    • Jenkins 默认运行在 8080 端口。

    • 在浏览器中访问 http://<服务器IP>:8080。

    (6)解锁 Jenkins

    • 首次访问时,需要解锁 Jenkins。解锁密钥位于日志文件中:

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

    将输出的密钥粘贴到 Jenkins 的解锁页面。

    (7)安装推荐插件

    • 在解锁后,Jenkins 会提示安装推荐插件。建议选择默认的推荐插件,包括 Git、Pipeline、Maven 等。

    (8)创建管理员用户

    • 设置一个管理员用户名和密码,用于登录 Jenkins。


    四、配置 Jenkins 的全局工具

    在 Jenkins 中,需要配置常用的开发工具(如 Git、JDK、Maven 等),以便在构建过程中使用。

    1. 配置 JDK

    1. 进入 Jenkins 管理界面:Manage Jenkins > Global Tool Configuration。

    2. 找到 JDK 部分,点击 Add JDK

    3. 填写名称(如 JDK11),取消勾选 Install automatically(如果已手动安装 JDK)。

    4. 填写 JDK 的安装路径(如 /usr/lib/jvm/java-11-openjdk-amd64)。

    2. 配置 Git

    1. 在 Global Tool Configuration 中找到 Git 部分,点击 Add Git

    2. 填写名称(如 Git),取消勾选 Install automatically(如果已安装 Git)。

    3. 填写 Git 的安装路径(如 /usr/bin/git)。

    如果未安装 Git,可以通过以下命令安装:

    sudo apt install git -y

    3. 配置 Maven(可选)

    如果你的项目使用 Maven 构建,可以安装并配置 Maven:

    1. 下载 Maven:

    wget https://downloads.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
    tar -xzf apache-maven-3.9.4-bin.tar.gz sudo mv apache-maven-3.9.4 /opt/maven
    1. 配置环境变量:

    编辑 ~/.bashrc 或 /etc/profile,添加以下内容:

    export MAVEN_HOME=/opt/maven
    export PATH=$MAVEN_HOME/bin:$PATH

    然后运行:

    source ~/.bashrc
    1. 验证安装:

    mvn -version
    1. 在 Jenkins 中配置 Maven:

      • 在 Global Tool Configuration 中找到 Maven 部分,点击 Add Maven

      • 填写名称(如 Maven3),取消勾选 Install automatically。

      • 填写 Maven 的安装路径(如 /opt/maven)。


    五、创建 Jenkins 项目并配置 CI/CD 流程

    1. 创建一个新的 Jenkins 项目

    1. 在 Jenkins 首页,点击 New Item

    2. 输入项目名称(如 my-ci-cd-project),选择 Pipeline,然后点击 OK

    2. 配置 Pipeline 项目

    在 Pipeline 配置页面中,有两种方式定义 Pipeline:

    • 直接在 Jenkins 中编写 Pipeline 脚本

    • 通过外部的 Jenkinsfile 定义 Pipeline

    推荐使用 Jenkinsfile,将 Pipeline 的定义与代码一起存储在版本控制系统中(如 Git),便于管理和协作。

    (1)配置源码管理

    1. 在 Pipeline 配置页面中,找到 Pipeline 部分。

    2. 选择 Pipeline script from SCM

    3. 配置 Git 仓库:

      • SCM:选择 Git

      • Repository URL:填写你的 Git 仓库地址(如 https://github.com/username/my-ci-cd-project.git)

      • Credentials:如果仓库需要认证,添加 Git 的用户名和密码或 SSH 密钥。

      • Branch Specifier:填写分支名称(如 */main)

    (2)配置 Jenkinsfile

    在项目的根目录下创建一个名为 Jenkinsfile 的文件,定义 Pipeline 的流程。以下是一个简单的示例:

    pipeline {
        agent any

        stages {
            stage('Checkout') {
                steps {
                    echo '正在从 Git 拉取代码...'
                    checkout scm
                }
            }

            stage('Build') {
                steps {
                    echo '正在构建项目...'
                    sh 'mvn clean package'  // 如果是 Maven 项目
                    // 如果是其他项目,可以使用相应的构建命令,如 `npm install` 或 `gradle build`
                }
            }

            stage('Test') {
                steps {
                    echo '正在运行测试...'
                    sh 'mvn test'  // 如果是 Maven 项目
                }
            }

            stage('Deploy to Test Environment') {
                steps {
                    echo '正在部署到测试环境...'
                    sh 'scp target/my-app.jar user@test-server:/opt/my-app/'
                    // 使用 scp 或其他工具将构建产物部署到目标服务器
                }
            }

            stage('Deploy to Production Environment') {
                steps {
                    echo '正在部署到生产环境...'
                    // 可以添加手动审批步骤,确保生产部署的安全性
                    input message: '是否部署到生产环境?', ok: '确认部署'
                    sh 'scp target/my-app.jar user@prod-server:/opt/my-app/'
                }
            }
        }

        post {
            success {
                echo 'CI/CD 流程成功完成!'
            }
            failure {
                echo 'CI/CD 流程失败,请检查日志!'
            }
        }
    }

    根据你的项目类型(如 Java、Node.js、Python 等),调整构建和部署命令。

    (3)保存并运行

    • 点击 Save 保存配置。

    • 点击 Build Now 手动触发一次构建,验证 Pipeline 是否正常工作。


    六、配置自动化触发器

    为了让 Jenkins 在代码提交时自动触发构建,可以配置 Webhook

    1. 在 Git 仓库中配置 Webhook

    以 GitHub 为例:

    1. 进入你的 GitHub 仓库,点击 Settings > Webhooks > Add webhook

    2. 配置 Webhook:

      • Payload URL:填写 Jenkins 的 Webhook 地址,格式为 http://<Jenkins服务器IP>:8080/github-webhook/

      • Content type:选择 application/json

      • Trigger on:选择 Just the push event(或其他事件,如 Pull Request)

    3. 点击 Add webhook 保存配置。

    2. 在 Jenkins 中启用 GitHub 插件

    1. 进入 Jenkins 管理界面:Manage Jenkins > Manage Plugins。

    2. 在 Available 插件中搜索 GitHub Integration,安装并启用。

    3. 在 Jenkins 项目的配置页面中,勾选 GitHub hook trigger for GITScm polling


    七、配置部署流程

    Jenkins 的部署流程可以根据目标环境的不同而有所不同。以下是常见的部署方式:

    1. 部署到测试环境

    • 使用 scp 或 rsync 将构建产物(如 JAR 包、WAR 包等)复制到测试服务器。

    • 示例:

    scp target/my-app.jar user@test-server:/opt/my-app/
    ssh user@test-server "cd /opt/my-app/ && nohup java -jar my-app.jar &"

    2. 部署到生产环境

    • 生产环境的部署通常需要更高的安全性,可以通过以下方式实现:

      • 手动审批:在 Jenkins Pipeline 中添加 input 步骤,等待人工确认后再部署。

      • 自动化部署:使用工具(如 Ansible、Docker、Kubernetes)实现自动化部署。

    示例(使用 scp 部署到生产服务器):

    scp target/my-app.jar user@prod-server:/opt/my-app/
    ssh user@prod-server "cd /opt/my-app/ && nohup java -jar my-app.jar &"

    八、测试与优化

    1. 验证 CI/CD 流程

      • 提交代码到 Git 仓库,观察 Jenkins 是否自动触发构建。

      • 检查构建日志,确保每个阶段(如构建、测试、部署)都正常执行。

    2. 优化配置

      • 根据项目需求调整 Pipeline 的流程(如增加代码质量检查、自动化测试覆盖率等)。

      • 使用 Jenkins 的并行执行功能,加快构建和部署速度。


    九、总结

    在云服务器上使用 Jenkins 实现 CI/CD 的流程如下:

    1. 安装 Jenkins:在云服务器上安装并配置 Jenkins。

    2. 配置全局工具:安装并配置 JDK、Git、Maven 等开发工具。

    3. 创建 Pipeline 项目:定义 CI/CD 流程,包括代码拉取、构建、测试、部署等步骤。

    4. 配置自动化触发器:通过 Webhook 实现代码提交后自动触发构建。

    5. 配置部署流程:将构建产物部署到测试环境或生产环境。

    6. 测试与优化:验证流程并优化配置。


不容错过
Powered By TOPYUN 云产品资讯