linux docker 部署破解版本jira:8.4.0——测试体验(非商用)

2024-05-01 00:04

本文主要是介绍linux docker 部署破解版本jira:8.4.0——测试体验(非商用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于jira是非开源的,所以自己测试用的是破解版本。仅限于自己测试使用,非商用。

本文参考文章,做了一些整理。
 

一、拉取镜像

jira:需要根据这个官网的jira版本构建一个破解版的jira镜像

docker pull atlassian/jira-software:8.4.0

jira 8.4.0适配的mysql数据库是5.7.x。

mysql:

docker pull mysql:5.7

二、构建pojie版的jira镜像

1.下载pojie程序包

参考文章中有:通过Docker安装JIRA8.4.0与Confluence7.0.2(破解版) - 简书

解压后将jar放到一个指定的目录,待会和Dockerfile同级目录。

2.构建Dockerfile

内容:

#截至2019年9月11日,最新版本为8.4.0,后期出现新版本可指定8.4.0进行安装。
FROM atlassian/jira-software:8.4.0USER root# 创建目录 /opt/jira/bin/
RUN mkdir -p /opt/atlassian/jira/bin/# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/jira/# 替换为自定义的配置文件
COPY custom-config.xml /var/atlassian/application-data/jira/dbconfig.xml# 如果 setenv.sh 文件不存在,则创建一个空文件
RUN touch /opt/atlassian/jira/bin/setenv.sh# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh#暴露端口
EXPOSE 9000

3.构建镜像,执行命令

docker build -t jira/jira:8.4.0 .

4.查看构建好的镜像

docker images ls

三、运行容器_dockercompose的方式

0.构建docker-compose.yml

仍然和jar一个目录就行。

内容:

version: '3'
services:jira:image: jira:8.4.0container_name: jira_containerports:- "9000:8080"depends_on:- mysqlenvironment:- MYSQL_HOST=mysql_container- MYSQL_PORT=3306- MYSQL_DATABASE=jiradb- MYSQL_USER=jira- MYSQL_PASSWORD=123456networks:- bridgevolumes:- ./dbconfig.xml:/var/atlassian/application-data/jira/dbconfig.xml- ./lib/:/var/atlassian/jira/lib/mysql:image: mysql:5.7container_name: mysql_containerports:- "3306:3306"environment:MYSQL_ROOT_HOST: '%'MYSQL_ROOT_PASSWORD: 123456MYSQL_USER: jiraMYSQL_PASSWORD: 123456MYSQL_DATABASE: jiradbvolumes:- ./mysql_custom.cnf:/etc/mysql/mysql.conf.d/mysql_custom.cnf- ./mysqld.cnf:/etc/mysql/conf.d/mysql.cnf- ./init.sql:/docker-entrypoint-initdb.d/init.sql   networks:- bridgenetworks:bridge:driver: bridge

一些小解释:

  • 绑定./lib是为了能够将破解程序包让jira正确加载,这样子就可以实现破解了。
    • jira的驱动程序在 /opt/atlassian/jira/lib下。
  • networks这俩个必须绑定同一个网络才可能互相通信访问。
  • 这里jira绑定容器内8080是由于jira默认的端口是8080。

对于mysql的一些小细节

这里mysql配置中的 mysql_custom.cnf 内容,为了跳过ssl,但是貌似没有效果,可以不用管,不影响。

0. mysql_custom.cnf 内容:
[mysqld]
skip_ssl

这里的 mysqld.cnf 对mysql进行一个基础的设置:

1. mysqld.cnf内容:
[mysqld]
# 基本设置
user = jira
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-host-cache
skip-name-resolve# Jira
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G# 字符集设置
#character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci# 日志设置
log_error = /var/log/mysql/error.log
log_queries_not_using_indexes = 1# InnoDB 存储引擎设置
innodb_file_per_table = 1
innodb_buffer_pool_size = 128M
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1# 安全设置
bind-address = 0.0.0.0
 

这里的init.sql是初始化数据库做的一些操作,比如新建一个数据库,用户之类的。

2. init.sql 内容:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX ON jira.* TO 'jira'@'%' IDENTIFIED BY 'jira';
GRANT ALL PRIVILEGES ON jira.* TO 'jira'@'%' IDENTIFIED BY 'jira';
SET PASSWORD FOR 'jira'@'%' = PASSWORD('123456');

对于jira的一些小细节
0. dbconfig.xml

内容:

<jira-database-config><name>defaultDS</name><delegator-name>default</delegator-name><database-type>mysql</database-type><jdbc-datasource><url>jdbc:mysql://mysql_container:3306/jiradb?useUnicode=true&amp;characterEncoding=UTF8&amp;useSSL=false&amp;sessionVariables=default_storage_engine=InnoDB</url><driver-class>com.mysql.jdbc.Driver</driver-class><username>jira</username><password>123456</password><pool-min-size>20</pool-min-size><pool-max-size>20</pool-max-size><pool-max-wait>30000</pool-max-wait><pool-max-idle>20</pool-max-idle><pool-remove-abandoned>true</pool-remove-abandoned><pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout><validation-query>select 1</validation-query><min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis><time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis><pool-test-while-idle>true</pool-test-while-idle><pool-test-on-borrow>false</pool-test-on-borrow><validation-query-timeout>3</validation-query-timeout></jdbc-datasource>
</jira-database-config>

因为是要用docker-compose去部署这两个容器,并且在同一个网络中,所以就可以通过容器名称去访问,所以这里是mysql的容器名称:mysql_container

这个 dbconfig.xml 也可以在 jira官网中找到。

1. /lib/文件夹
将 atlassian-agent.jar (破解包)放到新建的lib文件夹下。

现在的目录大致是这样子:

2. 执行命令

在当前这个目录执行:

docker-compose up -d

1.访问

部署的ip+9000即可.

这篇关于linux docker 部署破解版本jira:8.4.0——测试体验(非商用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950260

相关文章

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小