Orb作者常见问题解答
本文档介绍了创作的天体时,你可能会发现有用的各种问题和技术问题。
声明名称空间或发布球体的错误
问:当我试图声明名称空间或发布生产orb时,会收到一个错误。
答:你可能不是一个组织的所有者/管理员。
组织只能声明一个名称空间。为了为组织声明名称空间,身份验证用户必须在组织内拥有所有者/管理员特权。
如果您没有所需的权限级别,您可能会看到类似如下的错误:
错误:无法找到VCS型的GitHub的组织YOUR_ORG_NAME:必须有会员权限:组织的YOUR_ORG_NAME“下“GitHub的” VCS型不存在。你拼错的组织或VCS?
更多详情请参阅宝珠CLI权限矩阵。
安全令牌API
问:如何保护用户的API令牌和其他敏感信息?
答:使用
env_var_name
API密钥参数的参数类型。此参数类型将只接受有效的POSIX环境变量名称字符串作为输入。在参数描述中,最好的做法是告诉用户添加这个环境变量。
阅读更多:
环境变量
问:如何要求用户添加环境变量?
答:创建环境变量名称的参数,即使是静态命名的环境变量中的用户不应该更改。然后,分配了正确的默认值。在参数的描述让用户知道,如果这个值不应该被改变。无论哪种方式,考虑指导他们如何能够获得他们的API密钥的用户。
考虑验证所需的环境变量。详情请参阅宝珠笔者最佳实践指南。
阅读更多:
支持的编程语言
问:我使用什么语言来编写orb?
答:球是包的CircleCI YAML配置。
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,并运行部署命令,都很少从用户无需额外配置。
阅读更多: