Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送
不建议将数据库部署在Docker容器,推荐使用云数据库或者物理机数据库。
Confluence Data Center and Server documentation
选择安装的Confluence版本,阅读Database Setup For MySQL后,修改Mysql配置文件,本文以Mysql 8.0为例
[mysqld]
...
character-set-server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
transaction-isolation=READ-COMMITTED
binlog_format=row
log-bin-trust-function-creators = 1
// 如果为Mysql5.7,关闭derived_merge能优化仪表板加载缓慢
optimizer_switch = derived_merge=off
...
如果sql_mode = NO_AUTO_VALUE_ON_ZERO
,请删除此选项
- 创建数据库
CREATE DATABASE <database-name> CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
- 创建用户
CREATE user '<confluenceuser>'@'localhost' IDENTIFIED BY '<password>';
如果 Confluence 与数据库不在同一台服务器上运行(或者是Docker用户),请用 Confluence 服务器的主机名或 IP 地址替换 localhost(也可以使用%
,表示允许所有host)
- 授权
GRANT ALL PRIVILEGES ON <database-name>.* TO '<confluenceuser>'@'localhost' WITH GRANT OPTION;
镜像:atlassian/confluence-server
破解插件:atlassian-agent 项目已被私有,无法访问
atlassian-agent.jar 直接使用仓库内atlassian-agent.jar
官方镜像并没有内置MySQL driver,需要自行下载:Database JDBC Drivers。
Mysql 8.0 下载:mysql-connector-java-8.0.22.jar
Mysql 5.7 下载:mysql-connector-java-5.1.48.jar
JAVA_OPTS="-javaagent:/tmp/atlassian-agent.jar ${JAVA_OPTS}"
JVM_MINIMUM_MEMORY=2048m
JVM_MAXIMUM_MEMORY=2048m
JVM_RESERVED_CODE_CACHE_SIZE=512m
默认内存分配为1024m,如果需要覆盖 Confluence Server 的默认内存分配,可以通过环境变量JVM_MINIMUM_MEMORY
、JVM_MAXIMUM_MEMORY
、JVM_RESERVED_CODE_CACHE_SIZE
控制最小堆(Xms)和最大堆(Xmx)。
version: '3'
services:
confluence:
image: "atlassian/confluence-server"
volumes:
- ./atlassian-agent.jar:/tmp/atlassian-agent.jar
- ./mysql-connector-java-8.0.22.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-8.0.22.jar
- /data/your-confluence-home:/var/atlassian/application-data/confluence
env_file:
- ./.env
ports:
- "8090:8090"
restart: always
已上传Github:aladdinding/Confluence-and-Jira
docker-compose up -d
查看日志,发现========= agent working =========
则插件正常运行
复制 Server ID BT5W-KP7Q-31DT-PTNG
,使用容器内的Java环境,进入存放atlassian-agent.jar
目录,运行下方命令生成Key
java -jar atlassian-agent.jar -d -m [email protected] -n BAT -p 'conf' -o http://localhost:8090 -s BT5W-KP7Q-31DT-PTNG
这里使用的宿主机搭建的Mysql 8.0,一路下一步即可
第三方插件将其应用密钥/插件关键字作为-p参数。如:-p 'com.valiantys.spreadsheets'
java -jar atlassian-agent.jar -d -m [email protected] -n BAT -p 'com.valiantys.spreadsheets' -o http://localhost:8090 -s BDMK-KXF1-H7GV-F7QG
查找新应用,选择你想要的应用插件,点击免费使用,点击接受&安装,进入管理应用页面,粘贴生成的许可证,点击更新完成破解
JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
Jira搭建流程和Confluence类似,这里不再赘述,附上相关内容
Jira Software Data Center and Server documentation
Connecting Jira applications to a database
java -jar atlassian-agent.jar -d -m [email protected] -n BAT -p 'jira' -o http://localhost:8080 -s BT5W-KP7Q-31DT-PTNG
进入Jira选择用户管理 > Jira用户服务器 > 添加应用程序
进入Confluence > 用户管理 > 用户目录 > 添加目录(目录类型为:Atlassian Jira)
将JIRA Server 顺序顶置最上,点击同步即可将Jira用户信息同步到Confluence
如果是通过备份还原的Jira及Confluence可以直接禁用之前的用户目录然后移除。其他应用程序关联等设置比较简单,自行操作。
- Confluence重启后一段时间内无响应
confluence_1 | WARNING: An illegal reflective access operation has occurred
confluence_1 | WARNING: Illegal reflective access by com.atlassian.hibernate.adapter.proxy.BytecodeProviderImpl_ImplementV2Proxy (file:/opt/atlassian/confluence/confluence/WEB-INF/lib/hibernate.adapter-1.0.3.jar) to field java.lang.reflect.Field.modifiers
confluence_1 | WARNING: Please consider reporting this to the maintainers of com.atlassian.hibernate.adapter.proxy.BytecodeProviderImpl_ImplementV2Proxy
confluence_1 | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
confluence_1 | WARNING: All illegal access operations will be denied in a future release
confluence_1 | Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
类似问题:
https://community.atlassian.com/t5/Confluence-questions/hibernate-adapter-1-0-3-jar/qaq-p/1281057
结论:
- 等待一段时间会自动运行正常
- 非法反射访问错误是Java9添加的,所以尝试在Java8上运行Confluence,不过官方最新镜像都是Java11了!