mkdocs自动化部署知识库

简介: 运维系列

了解过Traefik,nginx-ingress的同学都知道他们的官方文档都是基于mkdocsmaterial主题制作而成,你觉得这种文档库怎么样?有没有心动把自己的文档也整成那样的?,下面我们直接动手干起来吧。

配置pip国内的下载源

☸️  devcluster🔥 kube-ops  ~  🐳 👉 cat ./.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

安装mkdocs

☸️  devcluster🔥 kube-ops  ~  🐳 👉 pip3 install mkdocs
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: mkdocs in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (1.1.2)
...
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

创建并运行一个新的文档库

☸️  devcluster🔥 kube-ops  ~  🐳 👉 mkdocs new cloudnativecosystem
☸️  devcluster🔥 kube-ops  ~  🐳 👉 cd cloudnativecosystem
☸️  devcluster🔥 kube-ops  ~/cloudnativecosystem  🐳 👉 ls
docs       mkdocs.yml

创建一个新的GIT仓库https://github.com/linuxermaster/cloudnativecosystem_mkdocs

配置通过SSH无密访问代码仓库

ssh-keygen -t rsa -C "email@qq.com"

然后将公钥拷贝到GITHUB的SSH-KEY

image-20200604231743718.png
测试本地是否可以远程连接

# ssh -T git@github.com
Hi linuxermaster! You've successfully authenticated, but GitHub does not provide shell access.

然后需要在cloudnativecosystem目录内初始化.git仓库,然后添加远程仓库地址

cd cloudnativecosystem
git init
git remote add origin https://github.com/linuxermaster/cloudnativecosystem_mkdocs.git
mkdocs build --clean # 创建编译后的静态页面以及样式文件
mkdocs gh-deploy --clean  # push到gh-deploy分支下

image-20200604232252901.png

此时,即可通过https://linuxermaster.github.io/cloudnativecosystem_mkdocs/访问

httpstat https://linuxermaster.github.io/cloudnativecosystem_mkdocs/

image-20200604232353340.png

现在开始优化mkdocs以及配置主题样式了,这部分工作都在mkdocs.yml中完成

site_name: 云原生生态圈
nav:
  - 主页: "index.md"
  - 关于: "about.md"
  - 自动化: "devops.md"
theme: material
repo_url: https://github.com/linuxermaster/cloudnativecosystem_mkdocs.git
repo_name: "Opening on Github"
site_description: "这是一个mkdocs的demo测试知识库网站"
site_author: "Marionxue"
copyright: "1994 - 2020"

其中theme指定的是你的主题,这个主题就是我们常见到的traefik,nginx-ingress等在使用的官方文档的主题,如果使用它,你可能还需要额外的安装一下

pip3 install mkdocs-material

安装之后,执行mkdocs gh-deploy --clean即可访问网站的主题:

image-20200604232632281.png

每次手动部署都是比较麻烦的,于是我们利用永久免费的travis来帮助解决这个问题:

language: python # Set the build language to Python

python: 3.6 # Set the version of Python to use

branches: master # Set the branch to build from

install:
  - pip install mkdocs mkdocs-material pymdown-extensions pygments # Install the required dependencies

script: true # Skip script (Don't use this if one already exists)

before_deploy:
  - mkdocs build --verbose --clean --strict # Build a local version of the docs

deploy: # Deploy documentation to Github in the gh_pages branch
  provider: pages
  skip_cleanup: true
  github_token: $GITHUB_API_KEY
  local_dir: site
  on:
    branch: master

然后我们使用GITHUB的账号登录travis, 地址是:https://travis-ci.org,在登录进去之后,我们选择合适的启用CICD

image-20200604235112405.png

然后点击setting进入仓库的配置界面,设置以下三个环境变量

image-20200604235222213.png

其中,GITHUB_API_KEY是从gitub上获取的Access Token,剩下的两个是用户名和密码。完成之后,我们就可以手动的触发以下构建:

image-20200604235350325.png

紧接着,我们为了方便我们知道构建是否完成,我们在README.md文件上添加了一个构建的状态展示:

image-20200604235534995.png

复制RESULT信息到readme.md中,即可显示每次构建的状态信息:

image-20200604235619006.png

查看一下我们的构建历史

image-20200605000335750.png

相关文章
|
8月前
|
存储 弹性计算 运维
自动化客服响应与知识库查询
【4月更文挑战第30天】
89 0
|
3月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
85 4
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
93 1
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
64 4
|
3月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
3月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
3月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
【10月更文挑战第1天】智能化运维:机器学习在故障预测和自动化响应中的应用
81 3