npm 包 lard-codepipeline-custom-action 使用教程

阅读时长 6 分钟读完

前言

在现代前端开发中,我们经常会用到 CI/CD 工具来进行自动化构建、测试和部署等工作。AWS CodePipeline 是目前比较流行的 CI/CD 工具之一,它提供了很多内置的 action,但是如果需要定制化的操作,就需要使用自定义 action。而 lard-codepipeline-custom-action 包就是帮助我们简化自定义 action 的开发流程的工具包。

安装

我们可以通过 npm 来安装 lard-codepipeline-custom-action 包,具体命令如下:

使用

创建 custom action

首先,我们需要定义我们的 custom action。在 AWS CodePipeline 中,一个 action 通常包括以下几个部分:

  • category:表示该 action 属于哪个分类,AWS 有几种内置分类,比如 source、deploy、build 等等。自定义 action 时,最好选择自定义 category。
  • provider:表示提供该 action 的服务商。自定义 action 时,可以选择自定义 provider。
  • version:表示该 action 的版本号。
  • inputArtifactDetails:表示输入 artifact 的详细信息,这些信息包括 artifact 名称、类型等。
  • outputArtifactDetails:表示输出 artifact 的详细信息,这些信息包括 artifact 名称、类型等。
  • settings:表示该 action 的一些配置信息,比如需要的参数等。

定义 action 的代码示例:

-- -------------------- ---- -------
----- - --------------------- --------------------- -------------------- ---------- - - -------------------------------------------

----- -------- - --- ---------------------------------- --- -------- --------------

----- -------- - --- ---------------------------------- --- -------- --------------

----- ------- - --- ---------------------------

----- -------------------- - -
  -
    ----- --------------------
    ----- -------------------
  -
--

----- --------------------- - -
  -
    ----- ---------------------
    ----- --------------------
  -
--

----- -------- - -
  -
    ---- -------------
    ----- --- ------- ---
    ----- ---------
    --------- ----
  --
  -
    ---- -------------
    ----- --- ------- ---
    ----- ----------
    --------- -----
  -
--

----- -------- - -
  --------- ---------
  --------- ---------
  -------- --------
  --------------------- ---------------------
  ---------------------- ----------------------
  --------- ---------
  ------ --------------------
  ---- ----- -------- -------- --------- ---- -- -
    --------------- ------ -- -------------
    ---------------------- --------
    ----------------------- ---------
    ------------------------ ----------
    ------------------- -----    
  -
--

其中,modes 表示该 action 支持哪些模式,ActionMode 类包含以下几种:

  • ActionMode.Source:该 action 作为源阶段的 action。
  • ActionMode.Deploy:该 action 作为部署阶段的 action。
  • ActionMode.Custom:该 action 作为自定义阶段的 action。

注册 action

定义好 action 之后,我们需要将其注册到 AWS CodePipeline 中。具体的注册过程比较繁琐,但是可以通过 lard-codepipeline-custom-action 包中的 registerAction 函数来简化。

调用 action

在 AWS CodePipeline 中调用自定义 action 时,需要执行一个 Shell 脚本,该脚本将调用我们的自定义 action。lard-codepipeline-custom-action 包提供了一些工具函数,可以方便地生成 Shell 脚本。

执行以上代码,会生成一个 Shell 脚本,可以将其复制到 AWS CodePipeline 中的自定义 action 中使用。

总结

通过 lard-codepipeline-custom-action 包,我们可以方便地定制化自己的 AWS CodePipeline 自定义 action。希望本文对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562e581e8991b448e079f

纠错
反馈