ORB创作过程
介绍
此ORB创作指南假定您已阅读创作ORB的简介文档并声称您的命名空间。此时,您已准备好开发ORB。
无论您是如何编写第一个ORB或为生产水平做好准备,我们都会建议使用我们的ORB开发套件开始。或者,ORB是包装可重用配置他们可以写成手动,作为单数yaml.
文件,并使用我们的文件发布Circleci Orb Cli.。
ORB开发套件
ORB开发套件是指一套合作的工具,用于简化ORB开发过程,在Circleci上具有自动测试和部署。ORB开发套件由以下组件组成:
入门
要开始使用ORB开发套件创建新ORB,请按照下列步骤操作。起点正在创建一个新的存储库github.com.。
确保Github上的组织是主人命名空间您正在为您开发ORB。如果这是您自己的个人组织和命名空间,则无需担心。
创建一个新的github存储库。
存储库的名称并不重要,但我们建议类似于“MyProject-Orb”的内容。orb init.CLI命令。
Circleci Orb init / path / to / myproject-Orb
该
Circleci Orb Init.
调用命令,然后是将为我们的ORB项目创建和初始化的路径。使用与此目录的相同名称和Git项目repo是最好的做法。- 选择完全自动化的ORB安装选项。
?您是否希望执行此ORB的自动设置?:▸是的,通过该过程步行。不,我会自己处理一切。
选择完全自动化的选项时,ORB-项目 - 模板将被下载并自动修改您的自定义设置。将在Circleci上遵循该项目,其中包含自动化的CI / CD管道。
有关包含的CI / CD管道的更多信息,请参阅ORB发布过程文档。或者,如果你只是喜欢下载的方便方式ORB-项目 - 模板你可以选择自己处理一切。 回答问题以配置和设置ORB。
在背景中,orb init.
命令将复制和自定义ORB项目模板根据您的意见。有详细的readme.md.
每个目录中的文件包含特定于每个目录的内容的有用信息。还将要求您在步骤1中获得的远程GIT存储库URL。
该ORB项目模板包含完整的CI / CD管道(描述ORB发布过程)自动包装那测试,并发布您的ORB。
在设置过程中,您将被问到您是否想保存您的个人API令牌进入ORB发布
背景。保存此令牌对于发布ORB的开发和生产版本是必要的。确保上下文受到限制
通过导航来限制上下文组织设置>上下文。
完成ORB后,您应该看到一个名为的新上下文ORB发布
。点击ORB发布
并添加A.安全组。使用安全组限制对允许触发作业的用户的访问权限。只有这些用户可以访问私人个人API令牌。
有关更多信息,请参阅背景指南。- 将变化推到GitHub上。
在设置过程中,orb init.
命令采取措施准备自动化ORB开发管道。在CLI可以继续并自动跟随Circleci.com上,必须将CLI生成的修改模板代码按到存储库。提示执行此操作时,从单独的终端运行以下命令,替换默认分支的名称:git push sigin
完成后,返回终端并确认已推动更改。
- 完成并写下您的ORB。
CLI将在Circleci上的新ORB项目之后自动完成并生成第一个开发版本
用于测试(Hello-World样本)。/ @dev:alpha
您将提供与Circleci上的项目建筑的链接,您可以在那里查看验证,包装,测试和出版过程。您还应该看到CLI已自动将您迁移到一个新的开发分支中,命名α
。
从您的新分支开始,您现在可以制作和推动变化。从这一点开始,在每个提交时,您的ORB将被包装,验证,测试(可选),可以发布。
当您已准备好部署ORB的第一个主要版本时,请使用SEMVER versioning查找部署更改的信息ORB发布过程指南。
写下你的草坪
在开始在ORB上工作之前,请确保您处于非默认分支。我们通常建议启动ORBα
科。
$Git Branch.*阿尔法主要
如果你已经运行了Circleci Orb Init.
命令,你会自动进入α
分支并有一个存储库.circleci.
和SRC.
目录。
示例:ORB项目结构
类型 | 名称 |
---|---|
.circleci. | |
.github. | |
SRC. | |
.gitignore. | |
changelog.md. | |
执照 | |
readme.md. |
ORB来源
导航到SRC.
要查看包含的部分的目录。
示例:ORB项目“SRC”目录
类型 | 名称 |
---|---|
命令 | |
例子 | |
执行者 | |
职位 | |
@ Orb.yml. |
上面列出的目录代表可以包含在ORB中的ORB组件。@ Orb.yml充当您的ORB根源。你可以看看脚本
和测试
您的项目中的目录可用于可选的ORB开发增强功能,我们将涵盖脚本部分和截图ORB测试方法指南。
每个目录内SRC.
对应A.可重用配置组件类型,可以从ORB添加或删除。例如,如果您的ORB不需要任何执行者
要么职位
,这些目录可以删除。
@ Orb.yml.
@ Orb.yml充当“root”,并包含配置版本,ORB描述,显示密钥,并在需要时导入任何其他ORB。
使用显示
将可点击链接添加到ORB注册表中的键home_url.
(产品或服务的家),和source_url.
(Git存储库URL)。
版:2.1描述:>样品ORB描述显示:home_url.:“https://www.website.com/docs“source_url.:“https://www.github.com/example_org/example_project“
命令
作者和添加可重复使用的命令到了SRC /命令
目录。每yaml.此目录中的文件将被视为ORB命令,其中名称与其文件名匹配。
描述:>#这个命令会做什么?#描述应短,简单,清晰。参数:问候:类型:串默认:“你好”描述:“选择一种正确问候“脚步:-跑:名称:你好,世界命令:echo <<参数.greeting >>世界
例子
作者和添加使用例子到了SRC /例子
目录。使用示例不使用其项目配置中的最终用户直接使用,但它们为您提供了一种方式,ORB开发人员,分享使用情况特定示例ORB注册表用户参考。
每yaml.此目录中的文件将被视为ORB使用示例,其中名称与其文件名匹配。
查看一个完整的例子ORB项目模板。
执行者
作者和添加参数化执行器到了SRC /执行者
目录。
每yaml.此目录中的文件将被视为ORB执行程序,其中名称与其文件名匹配。
查看一个完整的例子ORB项目模板。
职位
作者和添加参数化作业到了SRC /工作
目录。
每yaml.此目录中的文件将被视为ORB作业,其中名称与其文件名匹配。
作业可以包括ORB命令和其他步骤以通过最小的用户配置完全自动化任务。
描述:>#这份工作会做什么?#描述应短,简单,清晰。Docker.:-图片:CIMG /底座:稳定参数:问候:类型:串默认:“你好”描述:“选择一种正确问候“脚步:-迎接:问候:“<<参数.greeting.>>“
脚本
ORB开发套件的主要优点之一是脚本包含功能。使用时Circleci Orb包
命令(使用ORB开发套件时自动化),您可以使用该值<<包括(文件)>>
在您的ORB配置代码中,对于任何键,要在ORB中直接包含文件内容。
在编写复杂的ORB命令时,这尤其有用,这可能包含很多抨击码,(虽然你也可以使用Python!)。
参数:至:类型:串默认:“世界”描述:“你好至谁?”脚步:-跑:环境:param_to.:<<参数。至>>名称:你好问候命令:<<包括(脚本/问候.sh)>>
参数:至:类型:串默认:“世界”描述:“你好至谁?”脚步:-跑:名称:你好问候命令:echo“hello << parameters.to >>”
为什么包括脚本?
circleci配置是写入的yaml.
。逻辑代码如抨击
可以封装并在Circleci上执行yaml.
但是,对于开发人员来说118金宝博娱乐城,在非可执行格式中编写和测试编程代码是不方便的。此外,参数可以在更复杂的脚本中变得麻烦<<参数>>
语法是Circleci本机yaml增强,而不是可以在本地解释和执行的东西。
使用ORB开发套件和<<包括(文件)>>
语法,您可以将现有脚本导入ORB,本地执行并测试您的ORB脚本,甚至利用代码的真实测试框架。
使用具有脚本的参数
要保留脚本便携式和本地可执行文件,最好练习脚本中的一组环境变量,并在配置级别设置它们。该问候
文件,包含在特殊的文件<<包括(文件)>>
在我们的上面的语法问候
命令文件,看起来像这样:
回声你好“$ {param_to.}“
这样,您可以在本地模拟和测试脚本。
测试ORBS.
就像任何其他软件一样,有多种方法可以测试您的代码,并且它完全由您作为开发人员实现根据需要实现尽可能多的测试。在您的配置文件中,立即将有一个名为的作业集成-test-1需要更新,以测试您的ORB组件。这是一种类型集成测试。使用ORBS的单元测试也是可能的。
阅读我们的全部ORB测试方法文档。
发布您的ORB
使用ORB开发套件,自动配置完全自动化的CI和CD管道.circleci / config.yml.
。此配置使自动部署故意版本的ORBS的释放简单。
有关更多信息,请参阅ORB发布过程指南。
分类您的ORB.
您可以将您的ORB分类以获得更好的可发现性ORB注册表。分类的ORBS由类别中搜索ORB注册表。Circleci可能不时创建或编辑ORB分类以提高ORB可发现性。
上市类别
您可以为ORB选择最多两类。这些是可用的类别:
- 伪影/注册表
- 建立
- 云平台
- 代码分析
- 合作
- 容器
- 部署
- 红外自动化
- Kubernetes.
- 语言/框架
- 监测
- 通知
- 报告
- 安全
- 测试
也可以通过运行来获得类别列表Circleci Orb列表类别
CLI命令。您可以查看此命令的详细文档这里。
将ORB添加到类别
通过运行将ORB添加到所选类别中Circleci Orb Add-to-category <命名空间> /
。您可以查看此命令的详细文档这里。
从类别中删除ORB
通过运行从类别中删除ORBcircleci orb remove-from-category
。您可以查看此命令的详细文档这里。
查看ORB的分类
要查看哪些分类已应用ORB,请检查输出Circleci Orb信息<命名空间> /
列表。您可以查看此命令的详细文档这里。