把你的责任文件整理好

ansible-scribe的Python项目详细描述


Codacy BadgeLicense: MIT

ansible scribe

Ansible Scribe致力于尽可能地实现自动化,以便通过Ansible Galaxy获得一个角色,并准备好与Ansible社区共享。它试图将你推向一个更容易被他人利用的角色,并向你提出一些“最佳实践”的想法:

  1. 你应该使用角色和单独的剧本。这是使代码模块化并可被其他人重用的最佳方法。
  2. 您应该设置合理的默认变量,以便任何人都可以使用您的角色而无需更改变量,并且它仍将成功运行。这意味着ansible scribe将检查丢失和空变量。
  3. 您应该定义一个许可文件。
  4. 您应该使用ci测试,以便它检查ci文件。
  5. 您应该为所有任务使用名称,因为这有助于其他人(包括在ansible方面没有经验的人)理解您的代码。

这就是说,责任抄写员并不是只想跑和被完成。它尽可能多地创建必要的文档,但它不会做所有事情。您至少需要填写变量表。您可能还必须:

  1. 如果您没有提供任务名称列表,请将其转换为连贯的描述(它将在自述文件中的列表中写入任务名称,以便您可以创建一个)。
  2. 填写readme.md和meta/main.yml文件中任何其他空的或不完整的部分。如果你不预先给出所有必要的信息,这些将存在。ansible scribe不会为您创建值,在这种情况下,它只会创建这些部分的骨架。
  3. 为defaults/main.yml中的空默认变量分配设置(如果有)。

Ansible Scribe没有:

  • 编写代码
  • 格式化代码
  • 警告:
    • 不推荐使用的代码
    • 使用不正确的模块
<> P>其他的工具存在于这些事物中,而可编辑的抄写者遵循UNIX哲学,做一件事并做好它。我的目标是扮演你所拥有的角色,让他们尽可能容易地做好准备,以尽快推进到ansible星系。

设置内容来自:(https://galaxy.ansible.com/docs/contributing/index.html

输入

配置文件(~/.config/ansible scribe/global.conf)示例:

[Paths]
roles = /etc/ansible/roles/
playbooks = /etc/ansible/playbooks/
output = /tmp/ansible-scribe/

[Metadata]
# License type (currently supported = apache, bsd2, bsd3, cc-by, gpl2, gpl3, isc, mit)
repo_license = mit
author = Sam Oehlert
bio = Security Engineer. email: sam.oehlert@gmail.com
company = My Company

[CI]
# What type of CI file you want to use (currently supported = gitlab, travis)
type = gitlab

特定于角色的配置文件(~/.config/ansible scribe/netdata.conf)示例:

[versions]
ansible_min = 2.0
container_min = 
role = 1.0

[urls]
repo = https://github.com/soehlert/ansible-role-netdata
branch = master
issue_tracker =

[config]
description = Sets up the Netdata package for distributed real time performance and health monitoring
requirements = N/A
galaxy_tags = netdata deploy
playbook = common.yml

[platforms]
ubuntu = 16.04, 18.04

给它一个角色:

  1. 读取所有变量并在自述文件中为它们创建一个表。

    VariablePurposeDefault
    apache_portdefines port for apache to listen on80
    testa variable for testingnone
  2. 确保所有变量都在defaults/main.yml文件中

  3. 获取任务名称并将其设置在readme.md文件中的列表中,以便为您提供构建的框架

  4. 阅读行动手册以便

  5. 将示例剧本的副本添加到自述文件中

  6. 查找任何具有namespace.rolename设置的角色(添加到依赖项中)

  7. 如果缺少CI文件或CI文件为空,则发出警告

生成文件:

输出

  1. readme.md
  2. 默认/MIN .YML(如果不存在)
  3. 许可证文件
  4. meta/main.yml
  5. CI文件
  6. 警告:
    1. CI文件:
      1. 未找到-在$ci_file_位置创建了空文件
      2. 找到空文件
    2. 空默认变量
    3. 没有任务名称

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring freemarker多模板加载程序路径   在java插件中从控制台获取输入   java在包中创建继承类   网页抓取Java Jsoup网页抓取   java在线程内创建一个对象,而true条件具有相同的引用   java如何根据空格数拆分字符串   java新的安卓 studio更新中的配置文件“app”是什么?   java在将ArrayList写入/读取到文件时出现奇怪的问题   java Reg替换文本块第一次出现+最后一次出现   java当我单击任何RecyclerView列表项时,如何在MainActivity的EditText中显示特定的单击项?   JAVA XML删除节点仅删除第一个外观   java如何在数组中查找特定值   java SVG/矢量图形对象布尔运算(并集、交集、减法)   java在Android中创建线程需要多长时间   尝试从JBOSS联系Oracle LDAP服务器时发生java连接重置异常   java基于参数获取特定的实现实例   使用java就地修改文件内容   java MonetaryException:未加载MonetaryAmountsSingletonSpi   java接受用户的不同输入并使其触发完全相同的代码段的最短方法是什么   Spring 3.2.8应用程序中未找到java HTTP 404错误