Jenkins主目录介绍

之前一直在纠结该把Jenkins目录介绍放在什么位置,等写了之后才发现放在第一个项目构建之后比较合适。

当Jenkins启动之后,默认会在当前用户家目录中生成一个.jenkins的隐藏目录,这个目录中存放着jenkins的所有重要数据。当然,这个目录的位置可以通过环境变量来修改,这个在Jenkins初始部署的时候就已经阐述过。

先来看看这个目录下都有些什么

[root@localhost .jenkins]# ll
total 192
drwxr-xr-x   3 root root   18 Jul 29 16:59 cache
-rw-r--r--   1 root root 5141 Aug  1 14:27 config.xml
drwxr-xr-x 165 root root 4096 Jul 30 14:20 fingerprints
-rw-r--r--   1 root root  214 Jul 29 15:06 github-plugin-configuration.xml
-rw-r--r--   1 root root  807 Jul 29 15:06 hudson.maven.MavenModuleSet.xml
-rw-r--r--   1 root root  182 Aug  1 14:27 hudson.model.UpdateCenter.xml
-rw-r--r--   1 root root  250 Jul 29 15:06 hudson.plugins.build_timeout.operations.BuildStepOperation.xml
-rw-r--r--   1 root root 1316 Jul 29 15:06 hudson.plugins.emailext.ExtendedEmailPublisher.xml
-rw-r--r--   1 root root  321 Jul 29 15:06 hudson.plugins.git.GitSCM.xml
-rw-r--r--   1 root root  370 Jul 29 16:51 hudson.plugins.git.GitTool.xml
-rw-r--r--   1 root root  173 Jul 29 16:51 hudson.plugins.gradle.Gradle.xml
-rw-r--r--   1 root root  382 Jul 29 15:06 hudson.plugins.timestamper.TimestamperConfig.xml
-rw-r--r--   1 root root  391 Jul 29 15:06 hudson.scm.SubversionSCM.xml
-rw-r--r--   1 root root  145 Jul 29 16:51 hudson.tasks.Ant.xml
-rw-r--r--   1 root root  188 Jul 29 15:06 hudson.tasks.Mailer.xml
-rw-r--r--   1 root root  339 Jul 29 16:51 hudson.tasks.Maven.xml
-rw-r--r--   1 root root   76 Jul 29 15:06 hudson.tasks.Shell.xml
-rw-r--r--   1 root root  216 Jul 29 15:06 hudson.triggers.SCMTrigger.xml
-rw-------   1 root root 1712 Jul 11 15:04 identity.key.enc
-rw-r--r--   1 root root 4041 Jul 11 17:02 jenkins.install.InstallUtil.installingPlugins
-rw-r--r--   1 root root    5 Jul 11 17:46 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r--   1 root root    5 Jul 11 17:46 jenkins.install.UpgradeWizard.state
-rw-r--r--   1 root root  159 Jul 29 15:06 jenkins.model.ArtifactManagerConfiguration.xml
-rw-r--r--   1 root root  138 Jul 30 09:59 jenkins.model.DownloadSettings.xml
-rw-r--r--   1 root root  270 Jul 29 15:06 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r--r--   1 root root  247 Jul 29 16:51 jenkins.mvn.GlobalMavenConfig.xml
-rw-r--r--   1 root root  537 Jul 29 15:06 jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml
-rw-r--r--   1 root root  357 Jul 30 09:59 jenkins.security.apitoken.ApiTokenPropertyConfiguration.xml
-rw-r--r--   1 root root  169 Jul 30 09:59 jenkins.security.QueueItemAuthenticatorConfiguration.xml
-rw-r--r--   1 root root  162 Jul 30 09:59 jenkins.security.UpdateSiteWarningsConfiguration.xml
-rw-r--r--   1 root root  171 Jul 11 15:04 jenkins.telemetry.Correlator.xml
drwxr-xr-x   3 root root   23 Jul 31 11:10 jobs
drwxr-xr-x   3 root root   19 Jul 11 15:04 logs
drwxr-xr-x   4 root root   44 Jul 15 16:09 monitoring
-rw-r--r--   1 root root  907 Aug  1 14:27 nodeMonitors.xml
drwxr-xr-x   2 root root    6 Jul 11 15:04 nodes
-rw-r--r--   1 root root  279 Jul 29 16:51 org.jenkinsci.plugins.ansible.AnsibleInstallation.xml
-rw-r--r--   1 root root  299 Jul 29 16:51 org.jenkinsci.plugins.docker.commons.tools.DockerTool.xml
-rw-r--r--   1 root root  255 Jul 29 16:51 org.jenkinsci.plugins.gitclient.JGitApacheTool.xml
-rw-r--r--   1 root root  243 Jul 29 16:51 org.jenkinsci.plugins.gitclient.JGitTool.xml
-rw-r--r--   1 root root  291 Jul 29 15:06 org.jenkinsci.plugins.pipeline.modeldefinition.config.GlobalConfig.xml
-rw-r--r--   1 root root  153 Jul 29 15:06 org.jenkinsci.plugins.workflow.flow.GlobalDefaultFlowDurabilityLevel.xml
-rw-r--r--   1 root root  219 Jul 29 15:06 org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml
-rw-r--r--   1 root root  236 Jul 29 15:06 org.jenkins.plugins.lockableresources.LockableResourcesManager.xml
drwxr-xr-x  89 root root 8192 Jul 15 16:17 plugins
-rw-r--r--   1 root root  130 Aug  1 15:20 queue.xml
-rw-r--r--   1 root root  129 Jul 31 11:24 queue.xml.bak
-rw-r--r--   1 root root  369 Jul 16 15:04 scriptApproval.xml
-rw-r--r--   1 root root   64 Jul 11 15:03 secret.key
-rw-r--r--   1 root root    0 Jul 11 15:03 secret.key.not-so-secret
drwx------   4 root root 4096 Jul 29 16:55 secrets
drwxr-xr-x   2 root root  182 Aug  1 14:27 updates
drwxr-xr-x   2 root root   24 Jul 11 15:04 userContent
drwxr-xr-x   5 root root  130 Jul 30 10:01 users
drwxr-xr-x   2 root root    6 Jul 11 16:52 workflow-libs
drwxr-xr-x   3 root root   23 Jul 31 11:23 workspace

这里选择一些主要的文件或者目录来介绍下

config.xml
这个文件存储了Jenkins的很多核心信息,包含了Jenkins的版本信息、权限认证规则、workspace目录定义、builds目录定义、视图信息等等。

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

jobs
这个目录是Jenkins管理的所有构建项目的配置细节、构建后的产物和数据。
进入这个目录并随便进入一个项目。

[root@localhost .jenkins]# cd jobs/
[root@localhost jobs]# ls
test_java
[root@localhost jobs]# cd test_java/
[root@localhost test_java]# ll
total 8
drwxr-xr-x 12 root root  242 Aug  1 15:19 builds
-rw-r--r--  1 root root 3924 Aug  1 15:19 config.xml
lrwxrwxrwx  1 root root   22 Aug  1 15:19 lastStable -> builds/lastStableBuild
lrwxrwxrwx  1 root root   26 Aug  1 15:19 lastSuccessful -> builds/lastSuccessfulBuild
-rw-r--r--  1 root root    3 Aug  1 15:19 nextBuildNumber

builds这个目录中保存着这个项目的构建历史记录。

[root@localhost test_java]# cd builds/
[root@localhost builds]# ll
total 0
drwxr-xr-x 2 root root 55 Aug  1 15:01 10
drwxr-xr-x 2 root root 55 Aug  1 15:19 11
drwxr-xr-x 2 root root 34 Aug  1 14:30 2
drwxr-xr-x 2 root root 34 Aug  1 14:31 3
drwxr-xr-x 2 root root 55 Aug  1 14:36 4
drwxr-xr-x 2 root root 55 Aug  1 14:43 5
drwxr-xr-x 2 root root 55 Aug  1 14:51 6
drwxr-xr-x 2 root root 55 Aug  1 14:56 7
drwxr-xr-x 2 root root 55 Aug  1 14:58 8
drwxr-xr-x 2 root root 55 Aug  1 15:00 9
lrwxrwxrwx 1 root root  1 Aug  1 14:36 lastFailedBuild -> 4
lrwxrwxrwx 1 root root  2 Aug  1 15:19 lastStableBuild -> 11
lrwxrwxrwx 1 root root  2 Aug  1 15:19 lastSuccessfulBuild -> 11
lrwxrwxrwx 1 root root  2 Jul 31 10:34 lastUnstableBuild -> -1
lrwxrwxrwx 1 root root  1 Aug  1 14:36 lastUnsuccessfulBuild -> 4
-rw-r--r-- 1 root root  0 Jul 31 10:18 legacyIds

可以看到有2-11这10个数字目录,这就是我们这个项目的构建历史记录,和Jenkins页面中的构建历史记录可以对应上。

在这里插入图片描述

每个数字都保存着那次构建的详细信息。那为什么是10个历史记录呢?

没错,记性好点的好,应该想起来了。因为之前我们在做该项目的配置时,有勾选"丢弃旧的构建",设置的保留最大构建数为10。当出现第11个时,就会删除第1个,以此类推。

在这里插入图片描述

保留的构建的个数,可以根据实际情况来定。虽然保留的是历史构建的日志信息,但毕竟磁盘空间有限啊,建议5-10个足矣。

看完了builds目录,再来看下config.xml文件,这个文件就是这个项目的配置文件,里面保存着你在页面配置中所配置的所有记录。

lastStable文件和lastSuccessful文件分别是最近稳定构建和最近成功的构建的符号链接。

nextBuildNumber记录了这个构建任务在下一次构建时的数字序号。

logs
Jenkins的日志目录。

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

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

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

users
存放用户账号信息的地方。

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

参考文章:
https://www.cnblogs.com/qstudy/p/10284283.html
http://ju.outofmemory.cn/entry/117335

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值