首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教会你 Jenkins 备份与恢复

手把手教会你 Jenkins 备份与恢复

作者头像
LinuxSuRen
发布2020-05-19 17:43:43
2.2K0
发布2020-05-19 17:43:43
举报
文章被收录于专栏:JenkinsJenkinsJenkins

一、前言

Jenkins 是一个 Java 语言编写的开源工具,结合持续集成与持续交付相关技术的运用可提升软件开发过程的自动化水平。

Jenkins 从最开始安装到权限设置,插件安装,任务维护等是一个费力的工程,因此定期备份数据的重要性不言而喻。

在本文中,我们将手把手演示如何备份并恢复 Jenkins。

二、备份操作指引

Step1:创建一个新的任务

这里推荐自由风格任务类型,即 Freestyle project

Step2:源码管理选择 None
Step3:设置任务执行时间

选择 “Build Periodically”,然后可以根据需要设置备份时间和频率

例如,25 12 * * * 会在每天白天 12:25 运行任务

Step4:Build 模块添加 “Execute Shell”

在 Build 模块选择 Execute Shell,添加以下脚本内容

为方便读者直接使用,脚本内容如下:

#!/bin/bash
#  Jenkins Configuraitons Directory
cd $JENKINS_HOME
#  Add general configurations, job configurations, and user content
 git add -- .xml jobs//.xml userContent/ ansible/*
#  only add user configurations if they exist
 if [ -d users ]; then
     user_configs=ls users/*/config.xml  
     if [ -n "$userconfigs" ]; then
         git add $userconfigs
     fi
 fi
# mark as deleted anything that's been, well, deleted
 to_remove=`git status | grep "deleted" | awk '{print $3}' ` 
if [ -n "$to_remove" ]; then
     git rm --ignore-unmatch $to_remove
fi
git commit -m "Automated Jenkins commit"
git push -q -u origin master
Step5:保存以上设置
Step6:初始化本地 git 仓库

我们现在已经添加了一个备份所有 Jenkins 数据的任务,所有的备份数据将会存储到服务端的 /var/lib/jenkins 目录。

假如目前有一个用户名为 jenkins,进入此目录,执行以下命令:

cd /var/lib/jenkins && git init
Step7:本地仓库关联 GitHub
git remote add origin git@github.com:username/new_repo
Step8:测试备份任务是否生效

Jenkins 任务主页,点击 Build now 按键。如果看到以下输出,说明备份任务已成功创建并生效。

二、备份操作指引

Step1:清空 Jenkins 主目录
cd /var/lib/jenkins && rm -rf *
Step2:Jenkins 主目录初始化成 git 仓库
cd /var/lib/jenkins && git init
Step3:递归清除未纳入版本控制的文件
git clean -df
Step4:添加新的远程仓库地址
git remote add origin git@github.com:username/new_repo
Step5:从 GitHub pull 备份数据
git pull origin master
Step6. 以 root 账户重启 Jenkins
service jenkins restart

至此,数据已完全恢复。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Jenkins 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Step1:创建一个新的任务
  • Step2:源码管理选择 None
  • Step3:设置任务执行时间
  • Step4:Build 模块添加 “Execute Shell”
  • Step5:保存以上设置
  • Step6:初始化本地 git 仓库
  • Step7:本地仓库关联 GitHub
  • Step8:测试备份任务是否生效
  • Step1:清空 Jenkins 主目录
  • Step2:Jenkins 主目录初始化成 git 仓库
  • Step3:递归清除未纳入版本控制的文件
  • Step4:添加新的远程仓库地址
  • Step5:从 GitHub pull 备份数据
  • Step6. 以 root 账户重启 Jenkins
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档