【云原生】Docker搭建知识库文档协作平台Confluence

逆风飞翔的小叔 2024-09-06 08:07:10 阅读 82

目录

一、前言

二、企业级知识库文档工具部署形式

2.1 开源工具平台

2.1.1 开源工具优点

2.1.2 开源工具缺点

2.2 私有化部署

2.3 混合部署

三、如何选择合适的知识库平台工具

3.1 明确目标和需求

3.2 选择合适的知识库平台工具

四、Confluence介绍

4.2 confluence特点

4.3 Confluence中的几个概念

4.3.1 空间(Space)

4.3.2 Dashboard

4.3.3 页面(Page)

4.3.4 模板(template)

4.3.5 权限(Permission)

五、基于Docker搭建Confluence

5.1 前置准备

5.2 安装过程

5.2.1 创建容器挂载目录

5.2.2 使用下面的命令启动

6.1.3 访问主页

6.2 破解过程

6.2.1 拷贝agent包到Confluence指定目录

6.2.2 修改setenv.sh 脚本

6.2.3 重新启动confluence 

6.2.4 获取授权码

6.2.5 输入生成的授权码

七、写在文末


一、前言

对任何一个企业来说,文档可以说是一个非常宝贵的无形资产,文档,可以是技术文档,也可以是项目文档,操作手册,培训文档等等,久而久之,一个企业众多的文档就形成了这个企业底层的知识库,而这个知识库又可以在业务向前推进的过程中提升人员的工作效率,推动各类工作,项目,业务,交付等问题的解决,转而再次成为通用的问题解决方案文档沉淀下来,形成一个良性的正向循环。

二、企业级知识库文档工具部署形式

根据企业所处阶段,团队规模,以及部署成本等综合因素的考量,企业对于知识库文档工具的部署,目前主要有下面几种形式。

2.1 开源工具平台

当团队规模比较小,比如10人左右,为节省服务器资源开销,快速跑业务,一般会选择一些行业内知名度较高的开源工具,比如大家熟悉的语雀,印象笔记,简书等,为了方便文档的分享和传播,甚至直接使用钉钉的文档。

2.1.1 开源工具优点

成本较低

资源托管在第三方平台,在平台人员规模限制的范围内,甚至可以达到零开销;

上手简单

开源工具一般学习和使用成本较低,注册账号即可使用,而且体验感不会太差;

便于分享

团队中某个成员写完文档之后,只需要分享一个链接即可给其他成员使用

2.1.2 开源工具缺点

数据安全性

毕竟文档的数据在第三方平台上,因此数据很难做到绝对安全;

依赖性

使用第三方知识库平台将使组织依赖于该平台的稳定性和可靠性。如果平台出现故障或服务中断,可能会影响到组织的业务运作。

定制性受限

第三方平台通常提供一些标准的功能和界面,对于特定的定制需求可能受到限制。如果组织有特殊的需求,可能无法完全满足。

数据迁移困难

如果组织需要迁移到另一个平台或者将数据重新整合到自己的系统中,可能会面临数据迁移困难的问题,特别是在数据格式和结构上存在差异的情况下。

价格波动

第三方平台的定价通常是根据使用情况和功能来定的,可能会受到价格波动的影响。组织需要考虑成本和长期支出,以及可能的价格调整。

2.2 私有化部署

私有化部署也叫本地部署,即企业搭建属于自己的知识库文档工具平台,即所有的数据都托管在企业自身的服务器资源上,从而做到数据的绝对可控,这也是目前很多稍成规模的团队的普遍做法。

2.3 混合部署

结合本地部署和云端部署的优势,部分功能在本地部署,部分功能在云端部署,以满足不同的需求和安全要求。

三、如何选择合适的知识库平台工具

3.1 明确目标和需求

在搭建知识库平台之前,首先要明确搭建的目标和需求

知识库的范围

是针对整个企业的知识库,还是只针对某个部门或特定领域的知识库?

知识库的内容

需要收集、整理和分享哪些类型的知识?包括文档、培训资料、经验总结等。

知识库的权限管理

是否需要设置不同角色的权限,以保护敏感信息?

用户的需求

用户需要怎样的搜索、浏览和分享功能?需要支持多语言吗?

3.2 选择合适的知识库平台工具

有许多知识库平台工具可供选择,以可以私有化部署的平台来说,比如 PingCode,Helplook,Confluence,SharePoint、MM-Wiki等。在选择合适的工具时,可以考虑以下几个方面:

易用性

选择一个用户友好的界面,操作方式简单,方便使用人员快速上手使用,一句话:学习成本低;

功能丰富性

择一个功能齐全的平台,能够满足企业的需求,并支持定制化,像现在有些工具可以支持丰富的插件;

协作性

尽量选择一个支持多人协同编辑、评论和反馈的平台,以便团队成员共同完善知识库。

安全性

选择一个具有严格的权限管理和数据保护措施的平台,以确保敏感信息的安全。

四、Confluence介绍

Confluence是一款由澳大利亚公司Atlassian开发的企业协作平台,是一个专业的 wiki 程序,主要用于团队协作、信息共享和知识管理。它是一个基于网页的企业文档协作工具,可以帮助团队成员共同编辑和分享内容。同时也是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。

Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论。目前,Confluence被用于广泛地用于项目团队,IT开发团队,市场销售团队。

4.2 confluence特点

Confluence具有以下特点和优势:

团队协作

Confluence提供了团队协作所需的功能,如实时编辑、评论、@提及、任务分配等,促进团队成员之间的合作和沟通。

知识管理

用户可以在Confluence中创建、组织和共享各种类型的内容,有助于知识的积累和传播,提高团队的整体效率。

易用性

Confluence具有直观的用户界面和简单易懂的操作流程,使团队成员能够快速上手并高效地使用该工具。

灵活性

Confluence支持多种内容格式(如文档、表格、文件、图片等),并提供丰富的插件和扩展选项,比如可以导出多种格式的文件,用户可以根据需求定制和扩展平台的功能。

权限控制

Confluence具有灵活的权限管理功能,管理员可以根据需求设置不同的访问权限,确保信息的安全性和保密性。

集成性

Confluence与其他Atlassian产品(如Jira、Bitbucket等)和第三方工具(如Slack、Microsoft Teams等)具有良好的集成性,能够与团队已有的工具无缝对接,提升工作效率和协作效果。

综合来说,Confluence作为一个强大的团队协作和知识管理平台,具有易用性、灵活性、权限控制、集成性等优势,能够有效帮助团队提升工作效率、促进信息共享和知识管理。

4.3 Confluence中的几个概念

Confluence的使用并不复杂,只需掌握如下几个基础概念,然后再在界面上操作即可快速上手使用。

4.3.1 空间(Space)

空间(Space),空间是Confluence系统中的一个区域,用于存储wiki页面,并可实现对空间中的所有文档进行统一的权限管理。通常,我们可以针对每个项目单独创建一个空间,然后将与该项目相关的文档信息放置到该空间中,并只对项目成员开设访问/编辑权限。除了项目空间,每个成员都有一个个人空间。平时成员可以将工作总结或笔记等文档放置到自己的空间中;对于对团队有帮助的文档,就可以将文档移动至团队项目空间中。

4.3.2 Dashboard

Dashboard是Confluence系统的主页,在Dashboard界面中包含了Confluence站点中的所有空间列表,以及最近更新内容的列表。

4.3.3 页面(Page)

在Confluence系统中,页面是存储和共享信息的主要方式。

页面可以互相链接、连接、组织和访问,并以树状结构进行组织,放置于空间之中。页面遵循所见即所得的编辑方式,操作上简单易用。更强大的地方在于,页面支持大量的内容展现形式,除了富文本文档外,还包括图表、视频、附件(可预览)、流程图、公式等等;如果还不够,还可以通过海量的第三方插件进行扩展。

在页面中可以通过@其它成员,通知相关成员查看文档。文档保存成功后,被@的成员就会收到邮件,并可根据邮件中的链接访问到该文档,然后进行评论或者协同编辑。

4.3.4 模板(template)

创建页面时除了采用空白文档,也可以选择模板。模板是在空白文档的基础上,根据特定需求添加了一些文档要素,可辅助用户更好更快地创建文档。

Confluence内置了大量的模板,可辅助用于项目工作的各个环节,包括产品需求、会议记录、决策记录、指导手册(How-to)、回顾记录、工作计划、任务报告等等。并且由于Confluence和JIRA是同一家公司的产品,在Confluence中可以和JIRA进行无缝衔接,实现对产品质量实现更好的展现。如果对Confluence自带的模板不满意,还可以对模板进行调整,或者根据自己的需求创建其它类型的模板。

4.3.5 权限(Permission)

在安全性方面,Confluence具有完善和精细的权限控制,可以很好地控制用户在Wiki中创建、编辑内容和添加注释。权限控制分3个维度,分别是团队(Group),个人(Individual Users),匿名用户(Anonymous)。

使用团队级的权限控制时,需要在Confluence服务器中对公司员工进行分组,好处在于配置比较方便,只需要对整个团队进行统一的权限配置。但在实际项目中,经常会存在同一个项目包含多个跨团队成员的情况,这个时候就不适合采用团队权限配置方式,只能采用逐个添加成员的方式,并对各个成员分别配置权限。另外一种情况,就是对于未登录的用户,以及项目成员以外的用户,可以开设部分权限,例如只读(View)。

五、基于Docker搭建Confluence

接下来演示基于docker搭建Confluence过程。

5.1 前置准备

服务器

如果是基于centos7系统或云服务器安装,建议至少留出4G以上的内存

mysql

Confluence后续的数据都会持久化到mysql进行存储,因此需要提前安装完mysql

JDK

基于centos7系统或云服务器安装,需要提前安装JDK,至少JDK8以上的版本,推荐使用JDK17

docker

如果使用docker部署,请提前在部署Confluence的机器上安装docker

5.2 安装过程

5.2.1 创建容器挂载目录

参照下面的命令依次执行

<code>mkdir -p /data/confluence/file

mkdir -p /data/confluence/data

cd /data/confluence/file

下载atlassian-agent-v1.3.1破解工具,以及mysql的驱动连接jar包

 agent下载地址:git下载地址

mysql驱动连接下载地址:下载地址

5.2.2 使用下面的命令启动

建议不要使用太低的版本,选择7.15或者以上的版本,7版本也是官方长期维护的版本

<code>docker run -d \

--name confluence \

--privileged=true \

-v /data/confluence/data:/var/atlassian/application-data/confluence \

-v /data/confluence/file/mysql-connector-java-5.1.49-bin.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.49-bin.jar \

-v /data/confluence/file/atlassian-agent.jar:/home/atlassian-agent.jar \

-e JVM_MINIMUM_MEMORY=2048m \

-e JVM_MAXIMUM_MEMORY=4096m \

-p 8090:8090 -p 8091:8091 \

-e TZ="Asia/Shanghai" \code>

atlassian/confluence-server:7.15.1

检查是否启动成功

netstat -nltp | grep 8090

6.1.3 访问主页

服务启动之后,浏览器访问:IP:8090,然后可以在这里切换不同的语言类型

6.2 破解过程

下载atlassian-agent-v1.3.1破解工具,以及mysql的驱动连接jar包,参照docker安装完成破解的过程,几乎是一模一样的。这里罗列一下核心步骤:

将agent的jar包拷贝到Confluence的依赖包目录;找到, setenv.sh 这个脚本;

在文件最后面追加,export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar ${JAVA_OPTS}" ;

6.2.1 拷贝agent包到Confluence指定目录

<code>mv atlassian-agent.jar /var/atlassian/application-data/confluence/atlassian/atlassian-agent.jar

6.2.2 修改setenv.sh 脚本

在脚本文件最后面追加

export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar ${JAVA_OPTS}" code>

6.2.3 重新启动confluence 

验证是否成功

ps aux | grep javaagent  # 检查是否出现-javaagent 

6.2.4 获取授权码

执行下面的命令获得授权码

java -jar /opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar -p conf -m xxxxx@qq.com -n confluence -o confluence -s 上面的ServerId

6.2.5 输入生成的授权码

将上一步生成的授权码拷贝到浏览器的输入框中,点击下一步,然后参照上面docker搭建的方式最后,配置数据库,然后一步步往后执行即可。

七、写在文末

知识库文档在日常的工作中是一个非常重要的工具,合理使用知识库文档,不仅可以提升自己的工作效率,同时也在一定程度上可以推进整个团队的知识沉淀,为团队的可持续性良性发展提供一个底层的知识支撑,本文详细介绍了基于docker搭建知识库文档协作平台Confluence的过程,至于具体的使用,相信使用过一些开源文档的同学并不陌生,就不再过多赘述了,本文到此结束,感谢观看。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。