iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用Jenkins自动化构建工具进行敏捷开发
  • 699
分享到

怎么使用Jenkins自动化构建工具进行敏捷开发

2023-06-29 20:06:29 699人浏览 八月长安
摘要

这篇“怎么使用jenkins自动化构建工具进行敏捷开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Jenkins自

这篇“怎么使用jenkins自动化构建工具进行敏捷开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Jenkins自动化构建工具进行敏捷开发”文章吧。

    一、序言

    Jenkins 是一款自动化构建工具,能够基于 Maven 构建后端 Java 项目,也能够基于 nodejs 构建前端 Vue 项目,并且有可视化 WEB 界面。

    所谓自动化构建是按照一定的策略执行打包脚本,相对于普通脚本构建,Jenkins 有如下优势:

    • 构建队列中能够同时构建多个项目,包含前端和后端项目;

    • 定时构建;

    • 代码仓库触发构建(普通脚本无法实现);

    Jenkins 体现一种项目管理思维:开发人员的贴心助理,集中精力专注于业务开发;尽早的实现代码集成(包含前后端)以便尽早发现问题;构建环境与开发环境隔离,为向生产环境迁移做好充足的准备。

    构建过程全程自动化进行,无人工参与,配合 Docker 容易实现高效的项目部署与迁移。

    二、安装与使用

    Jenkins 是一个工具,既然是一个工具,便有相应的替代方案,因此不需要花工作的时间琢磨这个工具是如何工作的,将精力放在如何利用 Jenkins 提高敏捷开发效率上更有意义。

    实践过程中,将项目的脚本化构建用 shell 编写成命令脚本,并附加在项目中,即使不使用 Jenkins,通过执行 shell 脚本也能够实现项目的自动化构建。这么做主要有如下考虑:

    增强拓展性

    即使没有 Jenkins,项目也能完成构建,增加构建的拓展性

    减少对 Jenkins 的依赖

    让 Jenkins 承担实践调度的角色,具体构建过程由标准化的脚本来完成。

    既然 shell 脚本能够完成自动化构建,那么还需要用到 Jenkins 吗,是否冲突?答案是不冲突。shell 脚本配合 Jenkins 使用有两大方面优势:

    使用 shell 脚本必须登录目标服务器,拥有相应的权限后,方能执行 shell 脚本,Jenkins 能够实现在不登录目标服务器的基础上,使用一对账号和密码,管理可视化的 Web 操作界面触发构建事件。

    按需构建,开发者在提交完代码后,向 Jenkins 服务器发送一个信号,便可触发构建。

    (一)安装

    使用传送门快捷安装,启动后使用安装推荐插件,内置国内插件源,安装速度较快。

    1、查看初始密码
    cat ~/.jenkins/secrets/initialAdminPassWord
    2、修改默认工作空间

    默认工作空间路径为~/.jnkins,运行 Jenkins 程序的用户空间下,构建完成后的项目,如果要放在第三方容器中运行时,有可能会出现找不到路径的情况,修改默认工作空间或者给予资源目录可执行权限都能解决此问题。

    安装完成之后,暂时启动程序,先确认是否需要修改Jenkins_HOME变量,后续初始化以及插件的安装与此路径有关。此变量修改方式有多种,颗粒度较大的是配置在 PATH 环境变量中,颗粒度较小的是配置在运行 Jenkins 项目的容器中。

    修改 Tomcat 的配置文件 context.xml,增加一行配置

    <!-- 创建一个jenkins,并将其用户空间设置为JENKINS_HOME --><Environment name="JENKINS_HOME" value="/home/jenkins" type=java.lang.String/>

    注意:JENKINS_HOME默认值为启动进程用户对应的用户空间,在启动前修改后即变成新的路径。

    (二)使用

    如果在配置远程 apiToken 触发不生效,请阅读免密登录章节。

    1、构建配置

    用脚本的方式构建 Jenkins 项目配置非常简单,尽管内置了很多花里胡哨的配置,这里用不到,不需要关心。

    怎么使用Jenkins自动化构建工具进行敏捷开发

    只需要在构建中添加执行 shell 脚本命令即可。附录中列举的环境配置统一在宿主机上完成,不在 Jenkins 服务内部配置,使用默认值即可。

    2、添加项目

    在宿主机上将待构建项目的源代码克隆到本地,执行 shell 脚本完成手动构建。在 Jenkins 管理工作台新建一个同名的空项目,将克隆的源代码整体复制到 Jenkins 的工作空间下,默认位置为/root/.jenkins/workspace,委托给 Jenkins 代为自动管理该项目。

    (三)免密登录

    使用 URL 触发构建事件,需要配置免密登录,即在不需要输入用户名和密码的情况下,通过远程调用 shell 脚本触发构建事件,此 shell 脚本本质上是 GET 的方式请求某个指定的路径。操作过程如下:

    (1)安装插件

    安装Build Authorization Token Root Plugin插件,如果已经存在,则忽略此步骤。此插件的作用是给当前登录的用户生成 Token,方便后续认证使用,一个用户可以配置多个 token。

    (2)项目配置

    在指定的项目中添加 token 配置,项目可以复用一个 token 或者每个项目单独设置一个 token,依据需要选择。只有添加此配置之后,使用 token 触发方能生效。

    怎么使用Jenkins自动化构建工具进行敏捷开发

    (3)客户端使用

    编写脚本,将脚本分发给开发者,自动化构建便可以愉快的开始了。使用curl多参数时,&符号需要转义。

    curl {Jenkins URL}/buildByToken/build?job={项目名}\&token={token}

    至此,CI/CD敏捷开发配置完毕。

    三、触发策略

    构建事件可以按照不同的策略来定义,定时属于被动触发;URL 和钩子程序属于主动触发。

    (一)定时触发

    定时触发有多种实现方案,使用 Centos 服务器内置的定时调度器是较为轻量的解决方式,实现原理是在指定的时间节点运行 shell 脚本,其中 shell 脚本便是项目构建的载体。如果单纯希望定时构建项目,推荐使用此种解决方式,Jenkins 略显笨重。

    (二)URL 触发

    用脚本模拟或者在浏览器访问 URL 触发构建事件。此种方式是开发中用的比较多的方式,按需构建的代表。软件开发者在提交完代码后,主动触发构建事件,这种方式构建效率较高。

    Build Triggers

    构建触发器是指 Jenkins 收到某一信号之后,立即开始构建指定的任务。

    勾选【Trigger builds remotely】并设置【Authentication Token】

    # 【服务前缀】/job/【任务名】/build?token=【token】JENKINS_URL/job/job-vue/build?token=TOKEN_NAME

    通过使用 curl 脚本即可触发构建信号。

    (三)钩子触发

    在代码仓库完成钩子程序配置,并且允许代码仓库服务器访问 Jenkins 服务器,钩子程序会在开发者提交代码时触发构建事件。

    钩子触发看上去比较美,实际操作中有一定的前置条件:一是项目的构建时间不能过长;二是提交代码不能过于频繁。

    附录、工具使用

    1、语言设置

    在【系统管理】>【插件管理】中添加【locale】插件。在【系统管理】>【全局配置】中 locale 栏目下添加【en_US】,并勾选对所有用户生效选项。

    建议统一使用英文界面(可以修改为中文),在中英文混合下操作比较别扭。

    2、构建环境清单

    序号环境名作用及要求参考资料
    1JavaJava 程序基础运行环境,使用 jdk 不能使用 jre(需要编译 Java 源码 
    2maven构建 Java 项目,为提高构建速度需要配置国内仓库源[Maven 使用手册]
    3nodejs构建前端项目 
    4git拉取远程仓库代码 
    5ssh 免密登录授权拉取远程仓库代码;授权登录远程服务器(构建完成后部署)[SSH 使用手册]

    3、环境配置

    Maven Configuration

    配置项配置内容
    Default settings provider/usr/local/maven/conf/settings.xml
    Default global settings provider/usr/local/maven/conf/settings.xml

    JDK

    配置项配置内容
    JAVA_HOME/usr/local/java

    Git

    配置项配置内容
    Path to Git executable/usr/local/git/bin/git

    Maven

    配置项配置内容
    MAVEN_HOME/usr/local/maven

    NodeJS

    配置项配置内容
    Installation directory/usr/local/nodejs/bin

    4、任务配置

    Source Code Management

    源代码管理是 Jenkins 工作的前提,即能够获取到任务源代码,它是后续代码自动构建的前提。

    源代码托管在 GitHub,并且是私有仓库,Jenkins 正确访问 git 仓库需要进行授权。

    # 基于Http用户名和密码授权https://gitee.com/decsa/ucode-cms-vue.git# 基于公钥和私钥匙授权git@gitee.com:decsa/ucode-cms-vue.git

    为了提高工作效率,促进团队协作,这里选用 ssh 认证。

    ssh-keygen -t rsa -C "982361244@qq.com"

    将文件【~/.ssh/id_rsa.pub】内字符串拷贝至 GitHub 设置中,配置后即可免密拉取 GitHub 私有仓库代码。

    更多内容请查看 [SSH 使用手册]

    Build Triggers

    构建触发器是指 Jenkins 收到某一信号之后,立即开始构建指定的任务。

    勾选【Trigger builds remotely】并设置【Authentication Token】

    # 【服务前缀】/job/【任务名】/build?token=【token】JENKINS_URL/job/ruoyi-vue/build?token=TOKEN_NAME

    通过在任一登陆的服务器的浏览器或者使用 curl 脚本即可出发任务的立即构建。

    Build

    后端项目通常使用 Maven 来构建,在下拉框中选择【Invoke top-level Maven targets】,然后在 Goals 栏目中配置如下命令

    clean install

    经过此步骤,能够在工作空间找到构建后的项目发布包。

    Post-build Actions

    在任务构建完成之后出发此操作。通常使用 Docker 将项目发布包构建成镜像,然后发布到镜像仓库中。可执行的镜像发布到镜像仓库之后,有两种比较常用的后续方案与应用服务器交互。

    Jenkins 通过授权认证,登陆到目标应用服务器,将对应的镜像拉下来,然后使用脚本启动。

    通过使用 k8s 容器服务,自动化管理任务镜像发布工作。

    以上就是关于“怎么使用Jenkins自动化构建工具进行敏捷开发”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

    --结束END--

    本文标题: 怎么使用Jenkins自动化构建工具进行敏捷开发

    本文链接: https://www.lsjlt.com/news/326298.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 使用Jenkins自动化构建工具进行敏捷开发
      目录一、序言二、安装与使用(一)安装1、查看初始密码2、修改默认工作空间(二)使用1、构建配置2、添加项目(三)免密登录三、触发策略(一)定时触发(二)URL 触发(三)钩子触发附录...
      99+
      2024-04-02
    • 怎么使用Jenkins自动化构建工具进行敏捷开发
      这篇“怎么使用Jenkins自动化构建工具进行敏捷开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Jenkins自...
      99+
      2023-06-29
    • 敏捷开发工具Leangoo 怎么用
      这篇文章的内容主要围绕敏捷开发工具Leangoo 怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!为什么选择 Leangoo?很简单,因为它够简...
      99+
      2023-06-05
    • 使用docker搭建jenkins自动化工具的实现
      目录一、jenkins二、基于docker 搭建 jenkins三、jenkins 自动发布 SpringBoot 镜像一、jenkins Jenkins是一个开源软件项目,是基于J...
      99+
      2024-04-02
    • Linux自动化构建工具make和Makefile怎么使用
      这篇文章主要讲解了“Linux自动化构建工具make和Makefile怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux自动化构建工具make和Makefile怎么使用”吧!一...
      99+
      2023-07-06
    • 怎么使用Jenkins搭建PHP的自动化构建环境
      本篇内容介绍了“怎么使用Jenkins搭建PHP的自动化构建环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是Jenkins?Jenk...
      99+
      2023-07-05
    • Linux自动化构建工具Makefile与make怎么用
      这篇文章主要介绍“Linux自动化构建工具Makefile与make怎么用”,在日常操作中,相信很多人在Linux自动化构建工具Makefile与make怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”L...
      99+
      2023-06-28
    • Linux下怎么使用Jenkins自动化构建.NET Core应用
      本篇内容主要讲解“Linux下怎么使用Jenkins自动化构建.NET Core应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么使用Jenkins自动化构建.NET&...
      99+
      2023-06-29
    • electron开发构建工具怎么用
      今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言得益于 Vite ...
      99+
      2023-06-29
    • 怎么使用Scrum敏捷开发工具Leangoo脑图实现影响地图
      这篇文章主要介绍了怎么使用Scrum敏捷开发工具Leangoo脑图实现影响地图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Leangoo 的5.8.12版本发布了Leang...
      99+
      2023-06-02
    • Linux自动化构建工具make和Makefile如何使用
      这篇文章主要介绍“Linux自动化构建工具make和Makefile如何使用”,在日常操作中,相信很多人在Linux自动化构建工具make和Makefile如何使用问题上存在疑惑,小编查阅了各式资料,整理出...
      99+
      2023-05-25
      linux make makefile
    • 怎么使用Python自动化工具Fabric
      这篇文章主要讲解了“怎么使用Python自动化工具Fabric”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python自动化工具Fabric”吧!Fabric 主要用在应用部署与系...
      99+
      2023-06-16
    • 怎么使用IOS自动化测试工具UIAutomation
      这篇文章给大家分享的是有关怎么使用IOS自动化测试工具UIAutomation的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行...
      99+
      2023-06-14
    • Python任务自动化工具Tox怎么使用
      这篇文章主要讲解了“Python任务自动化工具Tox怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python任务自动化工具Tox怎么使用”吧!浅谈Python任务自动化工具Tox引...
      99+
      2023-07-02
    • Linux系统上的PHP开发:使用Bash进行自动化
      Linux系统上的PHP开发:使用Bash进行自动化 在Linux系统上,Bash是一个非常强大的命令行工具,它可以帮助我们完成许多自动化任务。对于PHP开发人员来说,Bash可以用来自动化构建、测试和部署PHP应用程序。在本文中,我们将介...
      99+
      2023-08-07
      numpy linux bash
    • PHP CI/CD 与自动化部署中构建和部署工具的使用
      php ci/cd 中构建和部署工具的使用有助于提升开发和部署效率,主要使用以下工具:构建工具:docker(构建一致的环境)、composer(管理依赖项)部署工具:jenkins(功...
      99+
      2024-05-09
      构建工具 部署工具 docker composer apache
    • 移动测试开发Mitmproxy工具怎么使用
      本文小编为大家详细介绍“移动测试开发Mitmproxy工具怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“移动测试开发Mitmproxy工具怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.前言在...
      99+
      2023-07-02
    • 如何使用低代码开发工具构建高效的移动应用
      随着移动应用市场的不断扩大,企业对移动应用的需求也越来越高。然而,开发一款高质量的移动应用需要大量的时间和资源,对于许多企业来说,这是一个巨大的挑战。这时候,低代码开发工具就应运而生了。低代码开发工具可以帮助企业以更低的成本、更快的速度开发...
      99+
      2023-12-17
      高效 如何使用 开发工具
    • 怎么使用postman进行接口自动化测试
      这篇“怎么使用postman进行接口自动化测试”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用postman进行接口自...
      99+
      2023-06-30
    • 怎么使用node开发一个mycli命令行工具
      这篇文章主要介绍了怎么使用node开发一个mycli命令行工具的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用node开发一个mycli命令行工具文章都会有所收获,下面我们一起来看看吧。初始化首先要确保电...
      99+
      2023-07-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作