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

目录

一、前言

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

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 创建容器挂载目录

参照下面的命令依次执行

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版本也是官方长期维护的版本

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" \
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指定目录

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}" 

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的过程,至于具体的使用,相信使用过一些开源文档的同学并不陌生,就不再过多赘述了,本文到此结束,感谢观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269917.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

动视发布长篇“论文”试图证明:没有SBMM 只有高手受益

SBMM——基于技能的比赛匹配系统,一直是《使命召唤》和广大 FPS 玩家所诟病的东西,但是《使命召唤》抱怨的玩家最多,因为似乎它所使用的匹配系统是让技术较好的玩家体验最糟糕的。 动视在此前一改对匹配系统避而不谈的态度后,日前…

鸿蒙开发——axios封装请求、拦截器

描述:接口用的是PHP,框架TP5 源码地址 链接:https://pan.quark.cn/s/a610610ca406 提取码:rbYX 请求登录 HttpUtil HttpApi 使用方法

Hadoop单机版环境搭建

一 . 案例信息 Hadoop 的安装部署的模式一共有三种: 本地模式,默认的模式,无需运行任何守护进程( daemon ),所有程序都在单个 JVM 上执行。由 于在本机模式下测试和调试 MapReduce 程序较为方便&#x…

Object Detection in 20 Years: A Survey 论文阅读

前言 如果要学习目标检测,那了解目标检测发展历程和各个技术将有助于更好地学习。所以今天我们看一篇来自IEEE的综述。 论文名:Object Detection in 20 Years: A Survey 论文作者:Zhengxia Zou et.al. 期刊/会议名:IEEE 发表时间…

日记审计遵守合规安全要求

一、什么是日志审计系统 日记审计系统是一种用于记录、监视和分析系统日志的工具或系统。它主要用于帮助组织实时监控与分析各种事件和行为的日志记录,以便检测潜在的安全威胁,了解系统性能和进行故障排除。日志审计系统通常能够收集、存储和分析来自各…

用Python做一个翻译软件,比上浏览器快100倍

简单的用Python来做一个翻译软件 开发环境 Python 3.10 Pycharm模块使用 requests -> pip install requests hashlib tkinter案例分为三部分: 1. 爬虫: 获取翻译接口, 请求获取翻译结果问题1: 接口抓包分析问题2: 请求需要写cookie问题3: 不同文本翻译, s加密参数2. 界面…

PHP多场地预定小程序系统源码

一键畅游多地!多场地预定小程序的超实用指南 段落一:【开篇:告别繁琐,预订新体验】 🎉🚀 还在为多个活动或会议的场地预订而头疼不已吗?多场地预定小程序来拯救你啦!它像是一位贴心…

[Windows CMD] 检测网络连通性 ping

ping 是一个非常常用的网络工具,用于测试网络连接的可达性和测量网络延迟。它通过发送 ICMP (Internet Control Message Protocol) Echo Request 数据包到目标主机,并等待接收回显应答 (Echo Reply) 来工作。ping 命令可以帮助您快速检测网络问题&#x…

blender使用- 置换修改器

置换修改器 对于物体可以先做细分,然后添加置换修改器,添加贴图。再对贴图的参数进行修改,渲染想要的效果。 旋转模式下(按下s),z表示方向,0表示平整

水源地(水库)泵闸远程控制与调度系统

水源地(水库)泵闸远程控制与调度系统是智慧水利管理领域的重要组成部分。这一系统集现代通信、自动化控制、物联网及大数据分析技术于一体,旨在实现对水源地(水库)泵闸设备的远程监控、智能调度和高效管理。还能够为管…

若依ruoyi+AI项目二次开发(智能售货机运营管理系统)

(一) 帝可得 - 产品原型 - 腾讯 CoDesign (qq.com)

Github 2024-07-26开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目2TypeScript项目2C++项目2HTML项目1Python项目1C#项目1Lua项目1JavaScript项目1Vue项目1C项目1免费编程学习平台:freeCodeCamp.org 创…

[C++] vector入门迭代器失效问题详解

文章目录 vector介绍**vector iterator 的使用** vector迭代器失效问题由扩容或改变数据引起的迭代器失效reserve的实现(野指针)insert实现(迭代器位置意义改变)insert修改后失效的迭代器 it迭代器失效 erase后的问题总结&#xf…

中断中使用事件组

文章目录 在中断里面使用事件组来改造程序配置MPU6050中断,PB5 INT![image.png](https://img-blog.csdnimg.cn/img_convert/14b1358946990cf8bd07a6e65c1fb7f0.png)配置mpu6050的中断引脚怎么使能mpu6050中断寄存的如下 注意:如果使用了中断后没出现想要…

移植江科大OLED显示汉字需要设置UTF-8格式

1.并且需要添加 --no-multibyte-chars //为了让软件能够识别到UTF-8的字符

zh echarts样式

记录一下: 一个图的配置 在echarts官网demo界面 option {title: {text: },legend: {data: [xxx前, xxx后]},radar: {// shape: circle,name: {// 雷达图各类别名称文本颜色textStyle: {color: #000,fontSize: 16}},indicator: [{ name: 完整性, max: 1 },{ name:…

二叉树_堆(下卷)

前言 接前面两篇的内容,接着往下讲二叉树_堆相关的内容。 正文 那么,回到冒泡排序与堆排序的比较。 我们知道冒泡排序的时间复杂度为 O ( N 2 ) O(N^2) O(N2),这个效率是不太好的。 那么,我们的堆排序的时间复杂度如何呢&…

《数据结构:链表递归实现二叉树》

文章目录 一、链式结构二叉树二、链式二叉树的遍历1、遍历方式2、前序遍历3、中序遍历4、后序遍历 三、链式二叉树结点个数和高度等1、二叉树结点的个数2、二叉树叶子结点的个数3、第K层结点的个数4、树的深度5、找值所在的结点6、二叉树销毁 四、借助队列完成二叉树的操作1、队…

react.16+

1、函数式组件 在vite脚手架中执行&#xff1a; app.jsx: import { useState } from react import reactLogo from ./assets/react.svg import viteLogo from /vite.svg import ./App.cssfunction App() {console.log(this)return <h2>我是函数式组件</h2> }exp…

leetcode-104. 二叉树的最大深度

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1a;root [1,n…