ORB创作过程

介绍

此ORB创作指南假定您已阅读创作ORB的简介文档并声称您的命名空间。此时,您已准备好开发ORB。

无论您是如何编写第一个ORB或为生产水平做好准备,我们都会建议使用我们的ORB开发套件开始。或者,ORB是包装可重用配置他们可以写成手动,作为单数yaml.文件,并使用我们的文件发布Circleci Orb Cli.

ORB开发套件

ORB开发套件是指一套合作的工具,用于简化ORB开发过程,在Circleci上具有自动测试和部署。ORB开发套件由以下组件组成:

入门

要开始使用ORB开发套件创建新ORB,请按照下列步骤操作。起点正在创建一个新的存储库github.com.

确保Github上的组织是主人命名空间您正在为您开发ORB。如果这是您自己的个人组织和命名空间,则无需担心。

  1. 创建一个新的github存储库
    存储库的名称并不重要,但我们建议类似于“MyProject-Orb”的内容。ORB注册表“></p><p>完成后,您将被带到一个确认新存储库的页面,您应该看到生成的Git URL。记下GIT URL,您将在步骤4中需要它。您可以选择SSH或HTTPS,您可以使用它进行身份验证。<img src=orb init.CLI命令。

    Circleci Orb init / path / to / myproject-Orb

    Circleci Orb Init.调用命令,然后是将为我们的ORB项目创建和初始化的路径。使用与此目录的相同名称和Git项目repo是最好的做法。

  2. 选择完全自动化的ORB安装选项。
    ?您是否希望执行此ORB的自动设置?:▸是的,通过该过程步行。不,我会自己处理一切。

    选择完全自动化的选项时,ORB-项目 - 模板将被下载并自动修改您的自定义设置。将在Circleci上遵循该项目,其中包含自动化的CI / CD管道。

    有关包含的CI / CD管道的更多信息,请参阅ORB发布过程文档。或者,如果你只是喜欢下载的方便方式ORB-项目 - 模板你可以选择自己处理一切。

  3. 回答问题以配置和设置ORB。
    在背景中,orb init.命令将复制和自定义ORB项目模板根据您的意见。有详细的readme.md.每个目录中的文件包含特定于每个目录的内容的有用信息。还将要求您在步骤1中获得的远程GIT存储库URL。

    ORB项目模板包含完整的CI / CD管道(描述ORB发布过程)自动包装测试,并发布您的ORB。

    在设置过程中,您将被问到您是否想保存您的个人API令牌进入ORB发布背景。保存此令牌对于发布ORB的开发和生产版本是必要的。

    确保上下文受到限制
    通过导航来限制上下文组织设置>上下文

    完成ORB后,您应该看到一个名为的新上下文ORB发布。点击ORB发布并添加A.安全组。使用安全组限制对允许触发作业的用户的访问权限。只有这些用户可以访问私人个人API令牌

    有关更多信息,请参阅背景指南。

  4. 将变化推到GitHub上。
    在设置过程中,orb init.命令采取措施准备自动化ORB开发管道。在CLI可以继续并自动跟随Circleci.com上,必须将CLI生成的修改模板代码按到存储库。提示执行此操作时,从单独的终端运行以下命令,替换默认分支的名称:
    git push sigin 

    完成后,返回终端并确认已推动更改。

  5. 完成并写下您的ORB。
    CLI将在Circleci上的新ORB项目之后自动完成并生成第一个开发版本 / @dev:alpha用于测试(Hello-World样本)。

    您将提供与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命令,其中名称与其文件名匹配。

以下是问候来自的命令示例ORB项目模板

描述>#这个命令会做什么?#描述应短,简单,清晰。参数问候类型默认你好”描述选择一种正确问候“脚步-名称你好,世界命令echo <<参数.greeting >>世界
例子

作者和添加使用例子到了SRC /例子目录。使用示例不使用其项目配置中的最终用户直接使用,但它们为您提供了一种方式,ORB开发人员,分享使用情况特定示例ORB注册表用户参考。

yaml.此目录中的文件将被视为ORB使用示例,其中名称与其文件名匹配。

查看一个完整的例子ORB项目模板

执行者

作者和添加参数化执行器到了SRC /执行者目录。

yaml.此目录中的文件将被视为ORB执行程序,其中名称与其文件名匹配。

查看一个完整的例子ORB项目模板

职位

作者和添加参数化作业到了SRC /工作目录。

yaml.此目录中的文件将被视为ORB作业,其中名称与其文件名匹配。

作业可以包括ORB命令和其他步骤以通过最小的用户配置完全自动化任务。

观看hello.yml工作示例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信息<命名空间> / 列表。您可以查看此命令的详细文档这里