Orb作者常见问题解答

本文档介绍了创作的天体时,你可能会发现有用的各种问题和技术问题。

声明名称空间或发布球体的错误

  • 问:当我试图声明名称空间或发布生产orb时,会收到一个错误。

  • 答:你可能不是一个组织的所有者/管理员。

组织只能声明一个名称空间。为了为组织声明名称空间,身份验证用户必须在组织内拥有所有者/管理员特权。

如果您没有所需的权限级别,您可能会看到类似如下的错误:

错误:无法找到VCS型的GitHub的组织YOUR_ORG_NAME:必须有会员权限:组织的YOUR_ORG_NAME“下“GitHub的” VCS型不存在。你拼错的组织或VCS?

更多详情请参阅宝珠CLI权限矩阵

安全令牌API

  • 问:如何保护用户的API令牌和其他敏感信息?

  • 答:使用env_var_nameAPI密钥参数的参数类型。此参数类型将只接受有效的POSIX环境变量名称字符串作为输入。在参数描述中,最好的做法是告诉用户添加这个环境变量。

阅读更多:

环境变量

  • 问:如何要求用户添加环境变量?

  • 答:创建环境变量名称的参数,即使是静态命名的环境变量中的用户不应该更改。然后,分配了正确的默认值。在参数的描述让用户知道,如果这个值不应该被改变。无论哪种方式,考虑指导他们如何能够获得他们的API密钥的用户。

考虑验证所需的环境变量。详情请参阅宝珠笔者最佳实践指南。

阅读更多:

支持的编程语言

CircleCI球体包CircleCI可重用的配置,如命令,它可以在给定的时间内执行执行者由任一定义的,使用用户是否命令在自定义作业中,或由orb作者(如果使用可重复使用的工作。逻辑运行的环境可能会影响你的语言决策。

  • 问:我可以用什么编程语言编写命令逻辑?

  • 答:符合POSIX标准的bash是最便携和通用的语言。这是建议的选项,当你打算分享你的天体。宝珠这样做,不过,来的灵活性和自由运行其他的编程语言或工具。

Bash

Bash是首选语言,因为它在所有可用的执行器中最常见。可以(而且应该)直接使用本机轻松地编写Bash运行命令。MacOS和Linux上的默认shell将是bash。

交互式解释器(例如,Python)

对于一些使用情况的天体可能只在特定的环境中存在。举例来说,如果你的宝珠为流行的Python程序也可能是合理要求Python作为您的ORB的依赖。考虑利用运行具有修饰壳参数命令。

脚步:-运行:壳牌:在/ usr / bin中/ python3命令:|地方= "世界"打印( “你好” +地方+ “!”)

二进制

在任何可能的情况下,强烈反对这种选择。有时可能需要获取远程二进制文件,比如CLI工具。只要可能,这些二进制文件应该从包管理器获取,或者由VCS托管,比如GitHub发行版。例如,安装自制程序作为AWS Serverless orb

脚步:-运行:命令:>旋度-fsSL“https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh”| bash/home/linuxbrew/.linuxbrew/bin/brew shellenv >> $ BASH_ENV的名字:安装家酿(Linux版)

指令Vs工作

  • 问:我应该创建一个命令还是一个作业?

  • 答案:可能两者都有,但这在很大程度上取决于你想要完成的任务。

一个ORB命令用户,甚至orb开发人员,都可以利用它在作业中执行某些操作。命令本身并不知道它所在的作业,因为用户可以按照自己的意愿使用它。例如,可以使用命令自动安装CLI应用程序,或者进一步安装和验证。

一个工作定义的特定执行环境中的步骤和命令的集合。作业高度自以为是,因为它一般选择执行平台上运行,什么步骤来运行。乔布斯可能会提供自动执行任务,例如部署的有效途径。一个部署工作可以选择以已知的特定的执行平台,如蟒蛇,并自动检出的用户码,安装CLI,并运行部署命令,都很少从用户无需额外配置。

阅读更多:

另请参阅

  • 宝珠最佳实践有关创建生产就绪宝珠建议。
  • 宝珠概念有关圆形球体的高级信息。
  • 宝珠发布流程有关您可以在您的工作流程和作业使用的天体的信息。
  • 宝珠参考可重复使用的球体,命令,参数和执行器的例子。
  • Orb测试方法有关如何测试已创建的球体的信息。
  • 配置食谱关于您如何使用CircleCI ORB食谱在你的配置更详细的信息。