1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Jenkins体系架构入门指南(初学者必备)

1987web2023-10-06WEB开发171

Jenkins是易于使用的开源CI / CD工具。该博客介绍了基本的Jenkins组件架构。如果您是Jenkins的初学者,它将帮助您了解Jenkins组件如何协同工作以及所涉及的关键配置。

以下是詹金斯的关键组成部分

  1. Jenkins主节点
  2. Jenkins Slave节点
  3. Jenkins Web界面

Jenkins Master

Jenkins的主节点拥有所有关键配置。

以下是Jenkins主要的主要组件。

Jenkins Jobs

Job是一系列步骤的集合,可用于构建源代码,测试代码,运行Shell脚本或在远程主机中运行Ansible角色。有多种工作类型可支持您的工作流程,以实现持续集成和持续交付。

Jenkins插件

插件是社区开发的模块,您可以将其安装在Jenkins服务器中。它使您可以添加Jenkins本身无法提供的更多功能。您还可以开发自定义插件。从Jenkins插件索引中查看所有插件

Jenkins用户

Jenkins有自己的用户数据库。它可以用于Jenkins的身份验证。

Jenkins全局安全性

Jenkins具有以下两种主要的身份验证方法。

  1. Jenkins自己的用户数据库:-由Jenkins自己的数据库维护的用户集。
  2. LDAP集成:-使用公司LDAP配置进行Jenkins身份验证。

Jenkins凭证

如果要保存作业中必须使用的任何秘密信息,可以将其存储为凭证。所有凭证均由Jenkins加密。

Jenkins节点/云

您可以配置多个从节点(的Linux / Windows)或云(kubernetes执行Jenkins工作,)。

Jenkins全局设置(配置系统)

在Jenkins全局配置下,您具有已安装插件的所有配置和本机Jenkins全局配置。另外,您可以在此部分下配置全局环境变量。

Jenkins日志

提供有关所有Jenkins服务器操作的日志信息,包括作业日志,插件日志,webhook日志等。

在Jenkins主节点中,上述组件的所有配置都将作为配置文件出现。

注意:Jenkins没有数据库。所有Jenkins配置都存储为配置文件。主要是xml文件。


Jenkins Slave

Jenkins从节点是Jenkins服务器中配置的作业的工作节点。

注意:您可以在没有Jenkins从属服务器的情况下在Jenkins服务器中运行作业。但是,推荐的方法是将Jenkins从站分开以满足不同的工作要求,以免最终使Jenkins服务器混乱,从而无法完成工作所需的任何系统范围的配置更改。

您可以将任意数量的具有Windows和Linux服务器组合的Jenkins从服务器连接到主服务器。

另外,您可以根据用例限制作业在特定的从属服务器上运行。例如,如果您有一个具有Java 8配置的从属服务器,则可以为需要Java 8环境的作业分配该从属服务器。

没有使用slave的单一标准。您可以根据项目需求设置工作流程和策略。

Jenkins Web界面

Jenkins 2.0引入了一个非常直观的Web界面,称为 Jenkins Blue Ocean。它具有所有管道的良好视觉表示。

Jenkins主从连接

您可以通过两种方式连接Jenkins主服务器和从服务器

  1. 使用SSH方法:使用ssh协议连接到从服务器。连接从Jenkins主站启动。这应该是主机和从机之间通过端口22的连接。
  2. 使用JNLP方法:使用Java JNLP协议。在这种方法中,Java代理从带有Jenkins主详细信息的从属启动。为此,主节点防火墙应允许指定JNLP端口上的连接。通常,分配的端口为50000。此值是可配置的。

Jenkins Slave有两种类型

  1. 从节点:这些是将配置为静态从节点的服务器(Windows / Linux)。这些从站将一直处于运行状态,并保持与Jenkins服务器的连接。
  2. 从属云:Jenkins Cloud从属是具有动态Slave的概念。意味着,每当您触发作业时,从属将按需部署为VM /容器,并在作业完成后被删除。当您拥有庞大的Jenkins生态系统并持续构建时,此方法可节省基础设施成本。

Jenkins数据

所有Jenkins数据将存储在以下文件夹位置。数据包括所有作业配置文件,插件配置,凭据,节点信息等。

/var/lib/jenkins/

每天备份Jenkins数据文件夹非常重要。由于某种原因,如果您的Jenkins服务器数据损坏,则可以使用数据备份还原整个Jenkins。

然后你就会获得一个名为nodejs.hpi的离线插件。然后通过高级这个tab页里的上传插件功能导入这个插件即可。

安装好插件之后需要重启Jenkins,只要在Jenkins的url后添加/restart回车稍等几分钟即可。

2.在jenkins所在的Linux主机上安装node.js并配置环境变量。

下载node.js的release包,推荐清华大学开源软件镜像网:https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/,要不墙的你怀疑人生。找到你想要的node版本,查看Linux架构可用arch命令,如下图所示,x64就是x86_64的简称,此处以下载最新版node为例,一般不推荐最新版,容易出各种莫名其妙的bug,最好和开发node版本一样,然后点击下载。

这里建议再安装一个node-sass的release包,因为每次前端npm install出问题有一半原因都是因为node-sass安装出问题,而且内网也没联网,这里我也就一起离线安装了。这个node-sass版本需要与node版本相匹配,否则会报错,具体可以参考我这篇文章https://cnblogs.com/jdWu-d/p/13594721.html。如果觉得自己npm install没啥问题就可以跳过不用看了。

然后将这两个release包上传到服务器的某个目录下,我以某个用户下新建的node文件目录存放release包,以某用户下.bash_profile配置局部环境变量为例,如需全局环境变量,可到etc/profile配置。

在.bash_profile文件下添加

export PATH=/nodejs的release包所在路径/bin:$PATHexportSASS_BINARY_PATH=/node-sass的release包所在路径  //如无离线安装node-sass,则可不配置

添加完毕后保存退出编辑,然后用source .bash_profile命令刷新局部变量。然后node -v测试是否安装成功

(1)打开Jenkins首页->Manage Jenkins->Configure System->全局属性->Environment variables->新增键值队列表,如果不设置此项,会导致Jenkins内部无法识别node及npm等命令,最后在执行npm run build的时候会报错:npm:未找到命令。

Linux查看PATH命令为echo $PATH

使用Jenkins实现前端自动化打包部署(Linux版本)

我们这边好多小组觉得每次测试人员叫我们开发打包部署到某某个测试环境人工操作比较麻烦,因为他们想做到只专注于开发,不管这些琐碎的事。于是有个组长问我前端能不能用J

  • 下一篇