Jenkins CI/CD 服务目录结构说明

2020-06-17 0 By admin

Jenkins 服务安装完成后,我们需要首先了解一下它的目录结构;这对于我们后面的服务管理很有必要。
Jenkins 服务自身所有需要持久化的数据都存储在 JENKINS_HOME 目录中;对Groovy、JDK或者Maven等环境的依赖,可以选择自行安装后,将相应的路径配置到 Jenkins 服务中;也可以使用 Jenkins 安装这些 tools 。

一、Jenkins 目录结构

 +- config.xml     (jenkins root configuration)
 +- *.xml          (other site-wide configuration files)
 +- userContent    (files in this directory will be served under your http://server/userContent/)
 +- fingerprints   (stores fingerprint records)
 +- plugins        (stores plugins)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- workspace      (working directory for the version control system)
         +- latest         (symbolic link to the last successful build)
         +- builds
             +- [BUILD_ID]     (for each build)
                 +- build.xml      (build result summary)
                 +- log            (log file)
                 +- changelog.xml  (change log)

二、文件内容说明

1.1、config.xml 核心配置文件

config.xml 是 Jenkins 的核心配置文件,包含了Jenkins的版本信息、权限认证规则、workspace目录定义、builds目录定义、视图信息等等。

其他的 xml 文件是 Jekins 服务扩展功能的配置信息文件。

三、目录结构说明

3.1、plugins 插件目录

Jenkins 已经安装的插件都可以在里面找到对应的文件。每一个插件基本是由一个目录和一个与目录同名的文件配对组成。

3.2、jobs 执行任务存储目录

这个目录是 Jenkins 管理的所有构建任务的配置细节、构建后的产物和数据。Jenkins 服务所有的 Job 都会在这个目录下,创建一个以 Job 名称命名的文件夹。
job 任务的文件夹中存储的文件有:

  1. config.xml 任务的XML格式声明信息。
  2. nextBuildNumber 文件记录下次构建时的 buildNumber
  3. builds 目录存储此 Job 构建的历史。

3.3、workspace 工作空间目录

这里包含了这个构建作业的源代码。
Jenkins存放项目的工作空间。进入这个workspace目录,里面就是你之前创建的项目的目录。在构建过程中,Jenkins会根据项目中配置的远程代码仓库的地址去拉取源码到项目目录中,并在这里完成打包。之前我们在打包的脚本中用到的$WORKSPACE表示的就是workspace下对应项目的目录。

3.4、tools 工具目录

Jenkins 服务设置安装 tools ,会安装在这个目录中。安装工具的方式是:【Manage Jenkins】 -》【Global Tool Configuration】 页面。

3.5、updates 更新目录

用来存放可用的插件更新。

3.6、users 用户信息目录

这个目录存储用户的账号信息。

3.7、nodes 节点目录

Jenkins的节点信息,Jenkins 在配置了主从或者工作节点之后会在这里有相应的信息。

3.8、userContent 用户生成的文件

这个目录用于存储在 Jenkins 管理过程中生成的文件;比如使用 【Convert To Pipeline】 插件可以将 JOB 转换成 Pipeline,生成的 Pipeline 的内容会以文件的形式存储在这个文件夹中。

3.9、fingerprints 文件指纹目录

文件指纹(fingerprints)是一个简单的MD5校验和。Jenkins维护了一个md5sum数据库,用于文件指纹校验。对于每个md5sum,Jenkins记录了哪些项目的哪些构建使用了他。在每次构建运行和文件被采集指纹时这个数据库会更新。为了避免过多的磁盘使用,Jenkins不存储实际的文件。相反,它只存储md5sum和它的使用记录。

3.10、logs 日志目录

这个目录用于存储 Jenkins 服务的日志,主要是事件日志和工作日志。

3.11、war 目录

如果是以WAR包形式运行的Jenkins,该目录下存放的是解压后的WAR包。

3.12、其他的目录

Jenkins 服务另外的文件目录还有:

  1. secrets
  2. init.groovy.d
  3. workflow-libs
  4. scriptler
  5. config-history