类似jenkins的自动化工具,自动化 jenkins

  类似jenkins的自动化工具,自动化 jenkins

  00-1010I、前言二、安装与使用(一)安装1、检查初始密码2、修改默认工作区(二)使用1、构建配置2、添加项(三)登录无保密三、触发策略(一)定时触发(二)URL触发(三)钩子触发附录、工具使用1、语言设置2、构建环境

  

目录

Jenkins是一款自动化构建工具,可以构建基于Maven的后端Java项目和基于nodejs的前端vue项目,具有可视化的web界面。

 

  所谓自动化构建,就是按照一定的策略执行包脚本。与普通的脚本构建相比,Jenkins具有以下优势:

  构建队列中可以同时构建多个项目,包括前端和后端项目;定时施工;代码触发构建(普通脚本无法实现);詹金斯体现了一种项目管理思维:开发人员的贴心助手,专注于业务开发;尽早实现代码集成(包括前端和后端),尽早发现问题;构建环境与开发环境相隔离,并且为迁移到生产环境做了充分的准备。

  构建全过程自动化,无需人工参与,用Docker轻松实现高效的项目部署和迁移。

  

一、序言

詹金斯是个工具。既然是工具,就有相应的替代品。因此,没有必要花时间去琢磨这个工具是如何工作的。更有意义的是关注如何利用Jenkins来提高敏捷开发的效率。

 

  实际上,项目的脚本化构造由shell写入命令脚本,并附加到项目中。即使没有Jenkins,也可以通过执行shell脚本来实现项目的自动构建。这样做有以下考虑因素:

  增强扩展性

  即使没有詹金斯,项目也能完成建设,增加了建设的可扩展性。

  减少对詹金斯的依赖

  让詹金斯担任练习调度的角色,具体的构建过程由标准化的脚本完成。

  既然shell脚本可以完成自动构建,还需要用Jenkins吗?有冲突吗?答案是不冲突。用Jenkins编写Shell脚本有两个优点:

  使用shell脚本时,您必须登录到目标服务器并拥有相应的权限,然后才能执行shell脚本。Jenkins可以管理可视化Web操作界面,通过使用一对帐户和密码来触发构建事件,而无需登录到目标服务器。

  按需构建,开发者提交代码后,向Jenkins server发送信号,可以触发构建。

  00-1010使用门户快速安装,启动后使用推荐插件。内置国产插件源码,安装速度更快。

  

二、安装与使用

猫~/。詹金斯/秘密/初始密码

 

  00-1010默认的工作区路径是~/.jnkins,在Jenkins程序运行的用户空间中,如果要将完成的项目放到第三方容器中运行,可能会找不到路径。修改默认工作区或授予资源目录的可执行权限可以解决这个问题。

  安装完成后,临时启动程序,先确认Jenkins_HOME变量是否需要修改,后续的初始化和插件安装都与此路径相关。有许多方法可以修改这个变量。较大的粒度在PATH环境变量中配置,而较小的粒度在运行Jenkins项目的容器中配置。

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

  !-创建一个jenkins并将其用户空间设置为JENKINS _ HOME-environment name= JENKINS _ HOME value=/HOME/JENKINS type=java.lang.string/Note: JENKINS _ HOME的默认值是启动该进程的用户对应的用户空间,在启动前修改后会成为一条新路径。

  00-1010如果远程APiToken触发器在配置期间没有生效,请阅读免密登录章节。

  00-1010通过脚本构建Jenkins项目配置非常简单,虽然内置了很多花哨的配置,这里不用,也不需要关注。

  只需在构建中添加执行shell脚本的命令。附录中列出的环境配置是在主机上完成的,而不是在Jenkins服务中完成的,可以使用默认值。

  00-1010在主机本地克隆待建项目的源代码,执行shell脚本完成工作。

  动构建。在 Jenkins 管理工作台新建一个同名的空项目,将克隆的源代码整体复制到 Jenkins 的工作空间下,默认位置为/root/.jenkins/workspace,委托给 Jenkins 代为自动管理该项目。

  

 

  

(三)免密登录

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

 

  (1)安装插件

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

  (2)项目配置

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

  (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、环境配置

1、Maven Configuration

 

  配置项配置内容Default settings provider/usr/local/maven/conf/settings.xmlDefault global settings provider/usr/local/maven/conf/settings.xml2、JDK

  配置项配置内容JAVA_HOME/usr/local/java3、Git

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

  配置项配置内容MAVEN_HOME/usr/local/maven5、NodeJS

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

 

  

4、任务配置

1、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 使用手册]

  2、Build Triggers

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

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

  

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

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

 

  3、Build

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

  

clean install

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

 

  4、Post-build Actions

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

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

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

  以上就是使用Jenkins自动化构建工具进行敏捷开发 的详细内容,更多关于Jenkins自动化构建工具的资料请关注盛行IT其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: