掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

jenkins使用教程(打包、发布、部署)

在现代软件开发中,持续集成(CI)和持续部署(CD)是提高软件质量和交付速度的关键实践。Jenkins 是一个广泛使用的开源自动化服务器,可以帮助开发者自动执行构建、测试和部署过程。本文将详细介绍如何使用 Jenkins 进行打包、发布和部署,帮助读者更好地理解和应用 Jenkins 在实际开发中的具体步骤。

一、Jenkins 简介

  1. 基本概念

Jenkins 是一个开源的自动化服务器,广泛用于持续集成和持续部署。它可以帮助开发者自动构建、测试和部署应用程序。Jenkins 提供了大量的插件,支持多种版本控制系统(如 Git、SVN)、构建工具(如 Maven、Gradle)以及发布工具(如 Docker、Kubernetes),使得开发者可以轻松地集成到自己的工作流程中。

  1. 安装与配置

安装 Jenkins:在服务器上下载并安装 Jenkins。

启动 Jenkins 服务,并访问其 Web 界面。

配置 Jenkins:设置管理员用户和密码。

安装必要的插件,如 Git 插件、Maven 插件等。

配置全局工具(如 Maven、JDK)。

二、Jenkins 打包

  1. 创建 Jenkins 任务

新建任务:登录 Jenkins Web 界面。

点击“新建任务”按钮,输入任务名称,选择“自由风格项目”,点击确定。

配置源码管理:在“源码管理”部分选择 Git。

输入仓库 URL 和凭证(如 SSH 密钥)。

配置构建触发器:选择“轮询 SCM”或“GitHub hook trigger for GITScm polling”,设置触发频率。

配置构建环境:选择“使用 Maven 版本”,并选择已安装的 Maven 版本。

可以配置其他环境变量和工具。

  1. 构建过程

配置构建步骤:在“构建”部分添加构建步骤。

选择“Invoke top-level Maven targets”,输入 Maven 目标(如 clean install)。

配置构建后操作:选择“Archive the artifacts”,输入需要归档的文件路径。

可以配置其他构建后操作,如发送邮件通知。

  1. 示例配置

假设有一个 Maven 项目,我们需要在每次代码提交后自动打包并归档 JAR 文件:

# Jenkinsfile
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                git url: 'https://github.com/user/repo.git'
                sh 'mvn clean install'
            }
        }
        stage('Archive Artifacts') {
            steps {
                archiveArtifacts allowEmptyArchive: true, artifacts: '**/*.jar'
            }
        }
    }
}

三、Jenkins 发布

  1. 创建发布任务

新建任务:登录 Jenkins Web 界面。

点击“新建任务”按钮,输入任务名称,选择“自由风格项目”,点击确定。

配置源码管理:在“源码管理”部分选择 Git。

输入仓库 URL 和凭证(如 SSH 密钥)。

配置构建触发器:选择“轮询 SCM”或“GitHub hook trigger for GITScm polling”,设置触发频率。

配置构建环境:选择“使用 Maven 版本”,并选择已安装的 Maven 版本。

可以配置其他环境变量和工具。

  1. 发布过程

配置构建步骤:在“构建”部分添加构建步骤。

选择“Invoke top-level Maven targets”,输入 Maven 目标(如 clean install)。

配置构建后操作:选择“Deploy war/ear to a container”,配置发布目标(如 Tomcat、Docker)。

输入应用名称、容器地址、用户名和密码等信息。

  1. 示例配置

假设有一个 WAR 文件,我们需要将其发布到 Tomcat 服务器:

# Jenkinsfile
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                git url: 'https://github.com/user/repo.git'
                sh 'mvn clean install'
            }
        }
        stage('Deploy') {
            steps {
                deploy(
                    war: '**/*.war',
                    contextPath: 'myapp',
                    url: 'http://tomcat.example.com:8080/manager/text',
                    username: 'admin',
                    password: 'password'
                )
            }
        }
    }
}

四、Jenkins 部署

  1. 创建部署任务

新建任务:登录 Jenkins Web 界面。

点击“新建任务”按钮,输入任务名称,选择“自由风格项目”,点击确定。

配置源码管理:在“源码管理”部分选择 Git。

输入仓库 URL 和凭证(如 SSH 密钥)。

配置构建触发器:选择“轮询 SCM”或“GitHub hook trigger for GITScm polling”,设置触发频率。

配置构建环境:选择“使用 Maven 版本”,并选择已安装的 Maven 版本。

可以配置其他环境变量和工具。

  1. 部署过程

配置构建步骤:在“构建”部分添加构建步骤。

选择“Invoke top-level Maven targets”,输入 Maven 目标(如 clean install)。

配置构建后操作:选择“Deploy war/ear to a container”,配置部署目标(如 Kubernetes)。

输入应用名称、容器地址、用户名和密码等信息。

  1. 示例配置

假设有一个 Kubernetes 集群,我们需要将应用部署到该集群:

# Jenkinsfile
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                git url: 'https://github.com/user/repo.git'
                sh 'mvn clean install'
            }
        }
        stage('Deploy') {
            steps {
                script {
                    def app = kubernetesDeploy(
                        kubeconfigId: 'kubeconfig',
                        configMap: 'myapp-configmap',
                        containerPort: 8080,
                        replicas: 2,
                        namespace: 'default',
                        force: true
                    )
                }
            }
        }
    }
}

jenkins使用教程(打包、发布、部署)

通过本文的学习,读者可以全面了解如何使用 Jenkins 进行打包、发布和部署。Jenkins 提供了强大的自动化能力,可以帮助开发者自动化构建、测试和部署过程,提高软件质量和交付速度。无论是简单的 Maven 项目,还是复杂的 Kubernetes 部署,Jenkins 都能提供全面的支持。希望本文的内容能够帮助读者在实际开发中更好地应用 Jenkins,提升工作效率。

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

  • 全球天气预报

    支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等

    支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等

  • 购物小票识别

    支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景

    支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景

  • 涉农贷款地址识别

    涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。

    涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。

  • 人脸四要素

    根据给定的手机号、姓名、身份证、人像图片核验是否一致

    根据给定的手机号、姓名、身份证、人像图片核验是否一致

  • 个人/企业涉诉查询

    通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。

    通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。

0512-88869195
数 据 驱 动 未 来
Data Drives The Future