如何在 Jenkins 中恢复工作?

Cho*_*per 5 jenkins

文档中,它说您所要做的就是复制文件或文件夹。但是,当我这样做然后尝试通过重新启动服务并使用 GUI 来恢复时Manage Jenkins > Reload Configuration from Disk(顺便说一句,有没有办法以编程方式执行此操作?),只会恢复凭据(它们来自我也复制的凭据.xml)。没有列出任何职位。

有任何想法吗?

编辑:

我创建了一个目录 /var/lib/jenkins/jobs/myjob 并在其中删除了“config.xml”文件。该文件曾经位于我服务器的前一个实例中,位于同一位置。

我还将旧的“credentials.xml”放入/var/lib/jenkins。效果很好,我可以在 Web 界面中看到凭据。

ken*_*orb 7

要在 Jenkins 中恢复作业,您只需将jobs/文件夹复制到新的 Jenkins HOME 文件夹中(只有config.xml文件就足够了)并确保您拥有所有必需的插件(在 Linux 中是/var/lib/jenkins/)。

对于 Jenkins 根配置,您需要config.xml从主 HOME 目录(例如/var/lib/jenkins/config.xml)复制。所有其他 XML 文件只是站点范围和插件配置文件(也可以复制)。

有关更多详细信息,请查看以下 Jenkins 目录结构:

JENKINS_HOME
 +- 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)
 +- workspace (working directory for the version control system)
     +- [JOBNAME] (sub directory for each job)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- 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)
Run Code Online (Sandbox Code Playgroud)

来源:管理 Jenkins - JENKINS_HOME 目录

另请参阅:有没有办法将 Hudson / Jenkins 配置文件保留在源代码管理中?


要从磁盘重新加载配置,请使用Manage Jenkins 中的Reload Configuration from Disk选项。从 Jenkins CLI,尝试命令丢弃内存中所有加载的数据并从文件系统重新加载所有内容。reload-configuration


Cho*_*per 2

我使用部署用户部署了作业(以及插件和凭据),但忘记将所有权设置为jenkins:jenkins.

我通过阅读 Jenkins 日志意识到这一点/var/log/jenkins/jenkins.log,其中有一些“权限被拒绝”消息。