Jira Data Center(非集群)升级操作
一、升级准备
- Jira 管理界面执行升级检查
- 下载升级包,使用原操作方式相同的方式安装。我这里原来的版本是通过
./atlassian-jira-software-9.11.2-x64.bin
安装的,接下来下载atlassian-jira-software-9.11.3-x64.bin的安装文件 - 停止 Jira,bin/stop-jira.sh
- 使用
mysqldump -u root -p --all-databases | gzip > mysqldump.20231110.sql.gz
备份完整的数据库 - 使用命令
ll /opt/atlassian/jira/atlassian-jira/WEB-INF/lib | grep mysql
检查之前的数据库驱动文件版本,并复制一份做好备份 - 检查之前修改过的文件,并保留文件内容,在新版本安装后,将变动的内容复制进去,不要整个文件覆盖。我这边改过setenv.sh,startup.sh,server.xml
二、执行升级操作
执行以下命令开始执行升级操作。注意中间几个命令的选择,升级的话,可以按照以下记录核对一步步做即可。
root@localhost:/home/ubuntu# ./atlassian-jira-software-9.11.3-x64.bin
Unpacking JRE ...
Starting Installer ...# 询问是否安装指定版本,输入o,按回车
This will install Jira Software 9.11.3 on your computer.
OK [o, Enter], Cancel [c]
o
Click Next to continue, or Cancel to exit Setup.Choose the appropriate installation or upgrade option.
Please choose one of the following:
# 这里询问安装方式,我们是升级,所以输入3,按回车
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2], Upgrade an existing Jira installation [3, Enter]
3# 这里提示默认目录位置,记得按回车确认,我以为后台已经在执行,瞎等了半天
Existing installation directory:
[/opt/atlassian/jira]Back up Jira home directory
The upgrade process will automatically back up your Jira installation
directory. You can also choose to back up your existing Jira home directory.
Both directories are backed up as zip archive files in their respective
parent directory locations.We strongly recommend choosing this option in the unlikely event that you
experience problems with the upgrade and may require these backups to
restore your existing Jira installation.If you have many attachments in your Jira home directory, the zip archive of
this directory may consume a significant amount of disk space.
# 我选择了备份默认目录,这样子如果失败了,还有地方可以还原,根据文件多少,这里需要等等。输入 y,按回车
Back up Jira home directory?
Yes [y, Enter], No [n]
yChecking for local modifications.List of modifications made within Jira directories.# 记住下面改动过的文件内容,安装完了之后去确认文件内容,除了setenv.sh、startup.sh和需要修改,本次升级,server.xml文件中变更点还在,数据库驱动包也还在
The following provides a list of file modifications within the
atlassian-jira directory.Modified files:bin/setenv.shconf/server.xmlbin/startup.sh
Removed files:(none)
Added files:atlassian-jira/WEB-INF/lib/mysql-connector-java-8.0.30.jar[Enter]Checking if your instance of Jira Software is runningUpgrade checklist
Complete these steps to have a smooth upgrade experience. If you need more
details, see
https://docs.atlassian.com/jira/jadm-docs-0911/Preparing+for+the+upgrade.# 在 Jira 管理界面中运行健康检查,确保所有服务都正常
1. Run a Jira health check
Run a Jira health check to verify that you're ready to upgrade. Make sure
that checks related to the license and database have passed, but you can
also fix other detected problems.# 在提示升级的管理界面中确认兼容性
2. Check app compatibility
Make sure your apps are compatible with the Jira version you're upgrading
to. Disable all incompatible apps, so they don't affect your upgrade.# 使用工具备份数据库,前面已经做过了
3. Back up the database
Back up the Jira database using your database's native backup tools.# 确认上面的都做了,就输入 y,按回车
Have you completed all these steps?
Yes [y], No [n, Enter]
y
# 确认是否升级,输入 u,按回车
Your existing Jira installation is about to be upgraded! Do you want to proceed?
Upgrade [u, Enter], Exit [e]
uYour instance of Jira is currently being upgraded.
Checking if Jira has been shutdown...
Backing up the Jira installation directoryBacking up the Jira home directoryDeleting the previous Jira installation directory...Extracting files .../opt/atlassian/jira/bin/tcnative-1.dllThe file already exists.# 确认覆盖,输入 y,按回车
Would you like Setup to overwrite it?
Yes [y], Yes to All [ya], No [n], No to All [na]
yPlease wait a few moments while Jira Software is configured.# 询问是否启动新版本的 Jira,这里选择否,因为后面还需要检查自定义的配置文件,所以输入 n,按回车
Installation of Jira Software 9.11.3 is complete
Start Jira Software 9.11.3 now?
Yes [y], No [n, Enter]
nInstallation of Jira Software 9.11.3 is complete
Your installation of Jira Software 9.11.3 is now ready.
Custom modifications
Your previous Jira installation contains customisations (eg server.xml) that
must be manually transferred. Refer to our documentation more information:
http://docs.atlassian.com/jira/jadm-docs-0911/Upgrading+JIRA+applications+manually#UpgradingJIRAapplicationsmanually-configuringnewjiraasold3.4MigrateyourexistingJIRAconfigurationsovertoyournewJIRAinstallation
Finishing installation ...
至此,升级安装过程已经完成
三、升级后文件检查
- 改
/opt/atlassian/jira/bin/setevn.sh
JAVA_OPTS="-Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} ${JVM_CODE_CACHE_ARGS} ${JAVA_OPTS} ${JVM_REQUIRED_ARGS} ${DISABLE_NOTIFICATIONS} ${JVM_SUPPORT_RECOMMEND
ED_ARGS} ${JVM_EXTRA_ARGS} ${JIRA_HOME_MINUSD} ${START_JIRA_JAVA_OPTS}"
修改自己想要的参数
JAVA_OPTS="-j*******.jar -Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} ${JVM_CODE_CACHE_ARGS} ${JAVA_OPTS} ${JVM_REQUIRED_ARGS} ${DISABLE_NOTIFICATIONS} ${JVM_SUPPORT_RECOMMEND
ED_ARGS} ${JVM_EXTRA_ARGS} ${JIRA_HOME_MINUSD} ${START_JIRA_JAVA_OPTS}"
- 改
/opt/atlassian/jira/bin/startup.sh
,使用80端口启动Tomcat。最后一行
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
改成
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
原来authbind的安装配置的文章请参考我的在 Linux 以非 root 用户将 Tomcat 运行在 80 端口上
- 改
/opt/atlassian/jira/conf/server.xml
文件,确认监听80端口,注意Connector port=
参数值即可
<Connector port="80" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>
- 数据库连接驱动文件检查
# ll /opt/atlassian/jira/atlassian-jira/WEB-INF/lib | grep mysql
-rw-r--r-- 1 root root 2513563 Nov 10 09:23 mysql-connector-java-8.0.30.jar
四、启动服务后检查
所有自定义配置的文件内容确认完了之后,进入 /opt/atlassian/jira
目录,执行 bin/start-jira.sh
启动服务,然后有一个升级后启动的过程,耐心等待。
我在启动过程中,有提示 server.xml 文件内容不对,我核实了端口号是对的,直接忽略警告继续启动了。
启动成功后,登录管理界面,会提示需要重建索引,按照提示操作即可。
至此,升级完成。如果一切正常后,可以删除过程中自动备份的目录文件,我这边两个文件共占用 1GB 的空间。
rm -f /opt/atlassian/jira-9.11.2-back.zip
rm -f /var/atlassian/application-data/jira-9.11.2-back.zip
五、官方参考资料
Upgrading Jira (manual)
相关文章:
Jira Data Center(非集群)升级操作
一、升级准备 Jira 管理界面执行升级检查下载升级包,使用原操作方式相同的方式安装。我这里原来的版本是通过./atlassian-jira-software-9.11.2-x64.bin安装的,接下来下载atlassian-jira-software-9.11.3-x64.bin的安装文件停止 Jira,bin/st…...

Spring IOC - BeanDefinition解析
1. BeanDefinition的属性 BeanDefinition作为接口定义了属性的get、set方法。这些属性基本定义在其直接实现类AbstractBeanDefinition中,各属性的含义如下表所示: 类型 名称 含义 常量 SCOPE_DEFAULT 默认作用域:单例模式 AUT…...

ds前后台博客系统
源码私信或者公众号java大师获取 博客简介:本博客采用Spring Boot LayUI做为基础,进行的博客系统开发,与bootvue相比,更为适合开发简单的系统,并且更容易上手,简单!高效!更易上手&a…...
算法leetcode|88. 合并两个有序数组(rust重拳出击)
文章目录 88. 合并两个有序数组:样例 1:样例 2:样例 3:提示: 分析:题解:rust:go:c:python:java: 88. 合并两个有序数组: …...

GoLong的学习之路,进阶,语法之并发(并发错误处理)补充并发三部曲
这篇文章主要讲的是如何去处理并发的错误。 在Go语言中十分便捷地开启goroutine去并发地执行任务,但是如何有效的处理并发过程中的错误则是一个很棘手的问题。 文章目录 recovererrgroup recover 哦对,似乎没写错误处理的文章。后面补上。 首先&…...

猪酒店房价采集
<?php // 设置代理 $proxy_host jshk.com.cn;// 创建一个cURL资源 $ch curl_init();// 设置代理 curl_setopt($ch, CURLOPT_PROXY, $proxy_host.:.$proxy_port);// 连接URL curl_setopt($ch, CURLOPT_URL, "http://www.zujia.com/");// 发送请求并获取HTML文档…...

Java基础知识第四讲:Java 基础 - 深入理解泛型机制
Java 基础 - 深入理解泛型机制 背景:Java泛型这个特性是从JDK 1.5才开始加入的,为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”࿰…...

ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败
上篇 ceph-deploy bclinux aarch64 ceph 14.2.10-CSDN博客 安装vdbench 下载vdbench 下载页面 Vdbench Downloads (oracle.com) 包下载 需要账号登录,在弹出层点击同意才能继续下载 用户手册 https://download.oracle.com/otn/utilities_drivers/vdbench/vdb…...
split_train_val
# coding:utf-8 import os import random import argparse parser argparse.ArgumentParser() # xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下 parser.add_argument(--xml_path, defaultdata_door_white/xml/train, typestr, helpinput xm…...

Linux Mint 21.3 将搭载 Cinnamon 6.0 和实验性 Wayland 支持
导读Wayland 会话可能在 Linux Mint 23 系列中成为默认选项,预计将在 2026 年实现。 Linux Mint 项目今天在他们的每月新闻通讯中 宣布,他们已经开始着手在未来的 Linux Mint 发行版中实施 Wayland 会话,最初将在 Linux Mint 21.3 中提供。 …...

名师助阵龙讯旷腾PWmat+半导体缺陷培训暨半导体缺陷计算大赛
半导体缺陷计算大赛 选拔赛截止日期:11月23日 参与杭州线下培训直接跳过选拔赛 大赛亮点 线上免费培训、线下限时领取免费名额 线下杭州培训可直通决赛,跳过选拔赛 线上培训有3次机会参与考试进入决赛 已购/未购用户均可参加、无身份限定 使用Mc…...
Kotlin与Java写法的变更
目录 获取类的Java Class属性 类型检查 for循环 switch语句 if判断 获取类的Java Class属性 //Java Intent intent new Intent(this, MainActivity.class);//Kotlin val intent Intent(this, MainActivity::class.java) 类型检查 //Java apple instanceof Fruit !(app…...

京东数据软件系统:京东销量和销额数据在哪里看?
京东平台店铺众多,行业同行也数不胜数,若想要在平台中更好的运营店铺,品牌需要做好数据分析。下面结合鲸参谋电商数据分析平台这一数据分析工具,我们来看一看品牌在做数据分析时需要注重哪些数据维度。 *行业数据 京东商家通过鲸…...

美观且功能丰富的控制台:5个.Net开源项目
今天一起盘点下,9月份推荐的5个.Net开源项目(点击标题查看详情)。 1、FTP开源库 FluentFTP是一个基于.Net开发的,可用于FTP和FTPS文件传输。该项目优化了速度,并提供简单易用的API,让开发人员可以快速地集…...

深度学习模型基于Python+TensorFlow+Django的垃圾识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 要使用Python、TensorFlow和Django构建一个垃圾识别系统,您可以按照以下步骤进行操作: 安装…...

ArcGIS Pro怎么生成山顶点
山顶点是指山脉、山丘或山脉系统中最高的地点,通常是山的最高峰,这是山地地貌中的最高点,往往是山脉的标志性特征之一,这里为大家介绍一下如何使用ArcGIS Pro获取山顶点,希望能对你有所帮助。 数据来源 本教程所使用…...

Anolis 8.6 安装 Drawio
Anolis 8.6 安装 Drawio 22.1.0 一.RPM版(不建议)二.WAR 包部署 一.RPM版(不建议) Draw RPM 包下载链接 RPM 包直接基于Linux图形化能力部署,服务器类型的Linux系统启动RPM包安装的Draw可能比较复杂 系统版本 ## 1.…...

AI图像生成模型LCMs: 四个步骤就能快速生成高质量图像的新方法
在最新的AI模型和研究领域,一种名为Latent Consistency Models(LCMs)的新技术正迅速推动文本到图像人工智能的发展。与传统的Latent Diffusion Models(LDMs)相比,LCMs在生成详细且富有创意的图像方面同样出色,但仅需1-…...

成都瀚网科技有限公司抖音带货正规
随着互联网的蓬勃发展,越来越多的公司开始利用网络平台进行产品销售。其中,抖音作为一款广受欢迎的短视频平台,已经成为众多商家眼中的“香饽饽”。在这场电商狂欢中,成都瀚网科技有限公司(以下简称“瀚网科技”&#…...
php 8 注解的实际应用
前言 学过java的同学应该都知道注解的作用,但是在php中注解有什么用呢?我的理解就是美化代码和便于维护一些类的设计。 说明 我们先设计一个类,声明人类的性别 <?php class Sex {//男人const MAN 1;//女人const WIFE 2;//未知const…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...