哦,天哪,当我试图在Confluence中编辑文档时,我非常沮丧,它破坏了我所有的文本,试图调整任何标签都会导致更多的文本中断。当Slake推出他们的所见即所得(WYSIWYG)编辑器解决了从来不存在的问题时,我的感觉是一样的,但至少他们增加了一个禁用它的选项。
使用Git存储,以降价写入,自动与Confluence同步。有意思的?。如果您可以使用Git存储文档,而不是直接在Confluence中编辑文档,那么让我告诉您七个好处:
Git Confluence有一个不断变化的历史,但它非常有限:您不能对git进行指责,不能使用git log-S来搜索谁添加了特定的文本。
现在,拥有全新眼光的人可以发现问题并为医生提供建议。你编写代码-有人审阅它,你写一本书-有人审阅它。现在,你写文档-有人审阅它。
工具我们有一些很棒的工具,比如VSCode,Neovim,Sublime,或者IDEA,它们都有一套必要的扩展,使我们的编码更有效率,更不令人沮丧。
那为什么不用它来写文档呢?它肯定比所见即所得更有效率。
没有上下文切换,不需要跳来跳去阅读一些文档。只需在您的编辑器中打开它,因为您将文档存储在代码附近。
托管不可知论如果你想开源的话,你可以把你的文档推送到GitHub上。
持续集成如果您有我将要介绍的适当工具,您可以在一次成功的git推送之后自动更新您的文档inConfluence。
Mark读取Markdown文件,如果不读取,则创建一个Confluence页面,如果有附件,则上传附件,将Markdown转换为HTML,并通过REST API更新页面内容。
这就像您甚至不再需要在您的Confluence中创建分区/页面,只需在您的.md文件中提及它们即可。
Mark使用了一种扩展的文件格式,它仍然是有效的标记,包含几个HTML-ish元数据头,可以用来在Confluence实例中定位页面并相应地更新它。
<;!--空格:<;空格键>;-->;<;!--父项:<;父项1&>;--<;<;!--父项:<;父项2&>;-->;<;!--标题:<;标题&>;--&>;&-附件:<;本地路径1&>;--。本地路径2>;-->;此处有一些文本。
<;!--空间:Dev-->;<;!--Parent:Automation-->;<;!--Parent:Documentation-->;<;!--Title:Sync Markdown to Confluence-->;<;!--附件:Image/Screenshot.png-->;此处的文章文本。![截图](image/Architecture ture.png)。
Mark将上传文件image/creenshot.png作为附件,通过以下路径在Confluence中创建一个页面:开发人员/自动化/Documentation→同步Markdown到Confluence,然后render Markdown as Html并代表用户通过rest API放置内容。
将Mark集成到CI/CD系统非常简单,这里是一个使用Snake Ciin的示例,用于自托管Bitbucket服务器/数据中心。
阶段:-同步同步文档:阶段:仅同步:分支:-主图像:kovetski/标记命令:-对于$(find-type f-name';*.md';)中的文件;执行ECHO";>;SYNC$FILE";;MARK-u$MARK_USER-p$MARK_PASS-b$MARK_URL-f$FILE||EXIT 1;ECHO;完成。
在本例中,我使用kovetski/mark映像创建一个作业容器,其中将克隆包含文档的存储库。以下命令查找所有*.md文件,并逐个针对它们运行标记:
对于$(find-type f-name';*.md';);中的文件,执行ECHO";>;同步$FILE";;mark-u$Mark_user-p$Mark_pass-b$Mark_URL-f$file||退出1;ECHO;完成。
以下指令告诉CI仅在将更改推送到主分支时才运行此特定作业。这意味着您可以安全地将您的更改推送到功能分支中,而不必担心它们会自动显示在Confluence中,然后通过审查过程,并在PR合并时自动部署它们。