# 基于Docker一键部署Atlassian Jira和Confluence环境,快速构建企业敏捷项目管理和知识共享系统

## 1. Jira——全球流行的项目管理系统

JIRA是Atlassian公司出品的项目与事务跟踪工具，被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富，其超过150项特性得到了全球115个国家超过19,000家客户的认可。

由于Jira各种优秀的特性使其在全球范围内流行，在国内有一些代理公司负责推广和运行Jira、Confluence等系统，代理公司一般会出售Jira授权，负责为客户公司安装部署系统，和对客户公司进行系统的技术培训。

以上的情况一定程度上导致了市面上鲜少有免费且系统体系的Jira系统培训教程，加之Jira安装部署过程较为繁琐，而且需要付费购买授权，导致了很多小规模的公司团队望而却步。


笔者曾在国内外多家企业供职期间使用Jira进行敏捷项目管理和软件缺陷跟踪，习惯于Jira的灵活易用，笔者也毫不犹豫地将Jira系统引进到了目前就职的公司。

随着以Docker为代表的容器化技术的兴起，使得运维工作变得异常简单高效，搭建各种环境也愈发的轻松自如。下面笔者就分享下如何基于Docker快速搭建Jira和Confluence环境，快速破解系统授权和常用付费扩展插件，希望这些分享可以一定程度上降低系统使用门槛，帮助到规模较小的公司或团队。

```bash
# 克隆代码库
git clone -b jira https://github.com/colin-chang/jira-confluence.git
 
# 创建挂载卷目录
cd jira-confluence && sudo mkdir jira mysql && sudo chmod -R 777 jira
 
# 启动Jira+Mysql服务栈
docker-compose up -d
```

当然在执行以上操作的前提是需要已经安装好了docker和docker-compose环境，常规安装参考docker官方文档安装即可，这里不再赘述。

在启动`Jira+Mysql`服务栈之前读者也可以根据自身需要修改`docker-compose.yml`配置文件，如修改数据库密码，设定容器挂载卷目录等。

服务栈启动完成后稍等片刻，就可以使用浏览器访问 `http://localhost:8080` 进行Jira系统初始化配置了。

首先切换语言为中文，并按照如下图所示的内容配置Jira数据库连接。

![Jira数据库配置](https://cdn.hashnode.com/res/hashnode/image/upload/v1658849872449/NGh_qi_Wy.jpg align="left")
数据库连接信息要与`docker-compose.yml`中一致，如果没有任何修改则按照图中配置内容填写即可。配置过程中需要填写License时，可以执行以下命令获取。

```bash
# 破解获取Jira License
docker exec atlassian-jira java -jar /var/agent/atlassian-agent.jar \
    -p jira \
    -m zhangcheng5468@gmail.com \
    -n zhangcheng5468@gmail.com \
    -o http://192.168.0.202 \
    -s 202
```
命令中`-m -n -o -s`信息可以根据实际情况修改。命令执行完成在终端中会输出相应的License，直接拷贝填入Web配置界面完成Jira系统破解。

## 2. Confluence——方便易用的知识共享系统
Confluence是Atlassian公司出品的企业知识共享系统。借助Confluence系统可以减少电话交流、邮件沟通、文件传递、记录会议纪要等日常工作。Confluence常常扮演着团队协同平台、文档中心、知识库、问答平台、企业内部门户等角色。

![Confluence特征](https://cdn.hashnode.com/res/hashnode/image/upload/v1658849995146/3L1n_khFA.png align="left")

#### 打破团队孤岛
开放、连接的结构使信息可以在企业所有人之间自由流动。
#### 将对话转化为行动
建立持久性知识，因此您永远不会在瞬态通知或聊天中失去出色的想法或情境。
#### 所有内容在同一位置
从季度计划文档到新员工博客，Confluence 应有尽有。
#### 建立开放式团队合作的文化
借助社交功能，每个级别的员工都可以发声进行表达、分享并接收反馈。 


了解了Confluence的强大和易用之后，我们来看如何快速安装部署Confluence系统。
```bash
# 克隆代码库 
git clone -b confluence https://github.com/colin-chang/jira-confluence.git 
 
# 创建挂载卷目录
cd jira-confluence && sudo mkdir confluence mysql && sudo chmod -R 777 confluence 
 
# 启动Confluence+Mysql服务栈
docker-compose up -d
```
在启动`Jira+Mysql`服务栈之前读者也可以根据自身需要修改`docker-compose.yml`配置文件，如修改数据库密码，设定容器挂载卷目录等。服务栈启动完成后稍等片刻，就可以使用浏览器访问 `http://localhost:8090` 进行Confluence系统初始化配置了。 首先切换语言为中文，并按照上一节图示内容配置Confluence数据库连接。

配置过程中需要填写License时，可以执行以下命令获取。
```bash
docker exec atlassian-confluence java -jar /var/agent/atlassian-agent.jar \
    -p conf \
    -m zhangcheng5468@gmail.com \
    -n zhangcheng5468@gmail.com \
    -o http://192.168.0.202 \
    -s 202
```

## 3. Jira + Confluence——强强联手，珠联璧合
Jira和Confluence都是Atlassian公司的优秀产品，两者也经常配合使用，而且两套系统可以方便的无缝集成。下面我们来演示下如何一键部署两套系统并共享数据库服务。
```bash
# 克隆代码库 
git clone https://github.com/colin-chang/jira-confluence.git
 
# 创建挂载卷目录
cd jira-confluence && sudo mkdir jira confluence mysql && sudo chmod -R 777 jira confluence
 
# 启动Confluence+Mysql服务栈
docker-compose up -d
```
Jira和Confluence的License获取方式参见前面破解方式。

## 4. 付费插件破解
Jira和Confluence除了自身强大功能外，还支持安装第三方插件，在其应用商店中有大量实用的插件，大部分好用的插件都是需要付费购买的，且一般都价格不菲。这对规模较小的团队和公司来说还是有一定门槛的，下面我们来看下如何简单快速的破解付费插件。

下面我们以流行的甘特图插件biggantt为例演示License获取过程。

```bash
docker exec atlassian-jira java -jar /var/agent/atlassian-agent.jar \
    -p eu.softwareplant.biggantt \
    -m zhangcheng5468@gmail.com \
    -n zhangcheng5468@gmail.com \
    -o http://192.168.0.202 \
    -s 202
```

以上命令 `-p` 指定的参数为要破解软件的应用密钥，根据不同插接修改即可，不同插件的密钥获取方式如下图所示。

![Jira插件破解](https://cdn.hashnode.com/res/hashnode/image/upload/v1658850473224/52JIgh_D0.jpg align="left")

