前言

在使用Jenkins做持续集成的初期,未能预估项目量的大小。于是乎,配置都是使用的默认配置,而Jenkins的默认主目录放在了服务器的根目录下。

随着时间的推移,项目量的持续增加,在运维过程中就出现了系统磁盘空间不足的问题。

解决方式有:

a、对磁盘的根目录分区进行扩容;

b、修改Jenkins的主目录,将其设置为空间较大的磁盘的分区下。

说明

a)

修改配置前,应先将Jenkins停止,此实验将默认目录/root/.jenkins改成/mnt/.jenkins;

b)

此处实验Jenkins是部署在Centos7系统的Tomcat下,故基于此环境进行操作说明;

c)

笔者做操作之前也查阅过相关文档,看到的都是单纯的修改Jenkins主目录操作,原以为修改过主目录的配置后重启,Jenkins会将原有的老数据信息同步到新的主目录下,但是操作下来的结果是改完重启后,所有配置均回到了初始状态。而最需要重视的原有数据信息迁移问题在各种文档及博客中未提及。此处将对这些进行完善!

方案

方案一

修改tomcat的bin目录下的catalina.sh文件,添加变量,指定JENKINS_HOME,如下:

修改完成后服务重启即可;

方案二

在启动Jenkins服务前,添加系统环境变量。即在/etc/profile文件中添加 export JENKINS_HOME=xxx 保存后,执行source /etc/profile即可;

方案三

更改Jenkins.war或已经展开在tomcat的webapps目录下的jenkins项目目录内的WEB-INF/web.xml配置文件,指定目录,如下:

在红色框内填写需要指定的目录后重启服务即可;

步骤

# 此处采用方案一进行操作!

# 停止Tomcat(即Jenkins服务);

/etc/init.d/tomcat stop

# 数据迁移,确保修改目录后保持原有配置数据;

rsync -avr /root/.jenkin /mnt/

# 配置指定Jenkins主目录,添加红色框内信息;

vim /usr/local/tomcat/bin/catalina.sh

# 启动Tomcat(即Jenkins服务);

/etc/init.d/tomcat start

# 以上操作完后,Jenkins切换了主目录,同时保持了原有数据!

Jenkins修改默认主目录及数据迁移的更多相关文章

  1. Windows下安装的Jenkins修改默认端口号8080(修改配置文件的方式)

    1.首先在Windows下找到Jenkins安装目录.2.在安装目录下找到jenkins.xml文件 3.打开jenkins.xml文件,找到httpPort=8080 4.修改成你想要的端口号即可, ...

  2. jenkins修改默认的workspace工作目录

    1.首先,找到Jenkins安装根目录,寻找config.xml文件,在config.xml文件内,查找 workspaceDir 关键字,将你的自定义 工作空间根目录 地址替换默认的地址 # cd ...

  3. Entity Framework CodeFirst数据迁移

    前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

  4. iOS_SN_CoreData数据迁移

    最开始使用CoreData的时候碰到一个问题,就是当增加一个字段的时候再次运行APP会发生崩溃,一开始不知道什么原因,只知道是里面的表结构发生改变,就重新删掉APP再次安装是可以运行的,这样调试完后觉 ...

  5. EF 中 Code First 的数据迁移以及创建视图

    写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功 ...

  6. 更改jenkins的默认工作空间并迁移插件和配置数据

    最近刚使用阿里云ECS centos服务器,购买的是40G的系统盘,60G的数据盘. 昨天在查看服务器磁盘空间的时候,偶然发现 /dev/vda1 下面40G的空间已使用17G, 因为服务器才开始使用 ...

  7. Django模型修改及数据迁移

    Migrations Django中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除. 如果你新增或修改数据模 ...

  8. codefirst数据迁移技术,在保留数据库数据下实现对模型的修改并映射到数据库

    一前言 这是我的处女作,写的不好的地方还望指出共同讨论.EF的数据访问方式有三种DbFirst,ModelFirst,还有本文要提到的CodeFirst 三者都是以ORM的方式建立.本人之前学习的.n ...

  9. Silverlight中DataGrid的显示指定列、修改默认列名和格式化日期数据和小数数据

    一:DataGrid的显示指定列.修改默认列名 使用自动生成列,就会无区别的按缺省格式展示所有项目.除了bit类型,其他类型项目会以字符串形式展现. 通过设置Columns属性,可以选择性的显示列,以 ...

随机推荐

  1. API 接口开发规范

    整体规范建议采用RESTful 方式来实施. 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全. 域名 应该尽量将API部署在专用域名之下.https://api.exam ...

  2. WebApi -用户登录后SessionId未更新

    描工具检测出.net的程序有会话标识未更新这个漏洞 用户尚未登录时就有session cookie产生.可以尝试在打开页面的时候,让这个cookie过期.等到用户再登陆的时候就会生成一个新的sessi ...

  3. Java 8 - 行为参数化

    前言: 以下内容来源于java8实战一书,我将里面学习的内容做一个整理,方便没空读书的小伙伴快速入门实战java8 正文: 假设一个果农收获了一园的苹果,他需要你根据他的条件筛选出满意的苹果 首先我们 ...

  4. Ubuntu18.04 安装MySQL(Linux)解决登陆权限问题及Navicat for mysql 中文乱码问题

    一.MySQL(Linux)解决登陆权限问题 Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接. ERROR 1045: Access denied fo ...

  5. 使用Typescript重构axios(二十三)——添加withCredentials属性

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  6. Vue的指令以及组件化开发

    一. 自定义指令 如何: 1. 创建指令 Vue.directive("指令名",{ inserted(elem){//指令所在的元素被加载到DOM树上后自动执行指令 //elem ...

  7. 使用ASP.NET Core 3.x 构建 RESTful API - 3.1 资源命名

    之前讲了RESTful API的统一资源接口这个约束,里面提到了资源是通过URI来进行识别的,每个资源都有自己的URI.URI里还涉及到资源的名称,而针对资源的名称却没有一个标准来进行规范,但是业界还 ...

  8. python机器学习——逻辑回归

    我们知道感知器算法对于不能完全线性分割的数据是无能为力的,在这一篇将会介绍另一种非常有效的二分类模型--逻辑回归.在分类任务中,它被广泛使用 逻辑回归是一个分类模型,在实现之前我们先介绍几个概念: 几 ...

  9. Oracle 数据库基础:数据查询与操作

    SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...

  10. AngularJS: Error reports on $injector:modulerr

    Angular JS最常见的问题是,程序启动失败,error为$injector:modulerr 错误是因为加载对应的Module失败,但很难找到需要修改的Module. 一个简单的小技巧是,不要使 ...