云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

NpmPublish步骤将一个npm包发布到Artifactory中的注册表中NpmBuild的一步。建议NpmBuild和NpmPublish步骤在同一个亲和组中,以优化这两个步骤之间的文件共享。


NpmPublish当使用JFrog CLI v1时,W19节点的native step可能会失败。解决方法是使用JFrog CLI v2。

页面内容


YAML模式

NpmPublish本机步骤的YAML模式如下:

NpmPublish
管道:- name: 步骤:- name: 类型:NpmPublish配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash # for payloadType npm: deployerRepo:  # optional, npm repository name on artifactory repositoryName:  # optional, npm repository name on artifactory forceXrayScan:  # optional failOnScan:  # default true autopubishbuildinfo:  # optional integration: - name:  # required inputSteps: - name:  # required outputRe2022世界杯阿根廷预选赛赛程sources: - name: #可选执行:onStart: - echo "Preparing for work…" onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something went wrong" onComplete: #always - echo " cleanup up some stuff"




标签

的名字

一个字母数字字符串(允许使用下划线),用于标识步骤。

类型

必须NpmPublish对于这个步骤类型。

配置

指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:

标签

使用说明

必需的/可选

集成 必须指定Artifactory集成 要求
inputSteps

必须指定一个命名NpmBuildBash的一步。

要求
output2022世界杯阿根廷预选赛赛程Resources

必须指定BuildInfo资源如果autoPublishBuildInfo设置为真正的

如果JFROG_CLI_BUILD_NAMEJFROG_CLI_BUILD_NUMBER设置为管道或输入的环境变量NpmBuild步骤,该名称和/或数字将用于输出BuildInfo。否则,默认buildName而且buildNumberpipeline_name美元而且run_number美元。

可能需要


此外,可以定义这些标记来支持该步骤的本机操作:

所有本机步骤都派生自Bash的一步。这意味着所有步骤共享来自Bash的相同基本标记集,而本机步骤也有自己的附加标记,这些标记支持该步骤的特定功能。所以熟悉这个很重要Bash步骤定义,因为它是所有其他步骤定义的核心。

标签

使用说明

必需的/可选
deployerRepo 要在Artifactory中发布的npm存储库的名称。 可选
repositoryName 替代deployerRepo.不要同时设置两个标记。 可选
forceXrayScan

当设置为真正的,在发布到Artifactory后强制进行x光扫描。

默认是

可选
failOnScan

当设置为真正的,w当x光片策略规则失败的构建复选框,则x射线扫描失败将导致该步骤失败。

默认是真正的

可选
autoPublishBuildInfo

当设置为真正的,将构建信息发布到Artifactory。

默认是

可选

执行

声明在执行前和执行后阶段执行的shell命令序列集合:

标签

使用说明

必需的/可选
onStart 在本机操作之前执行的命令 可选
调用onSuccess 成功完成后执行的命令 可选
onFailure 在完成失败时执行的命令 可选
onComplete 在任何补全时执行的命令 可选


对象执行的操作onExecute阶段是此步骤类型固有的,不能被覆盖。


例子

下面的示例展示如何配置NpmPublish步骤。

全管道示例

NpmBuild
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。yml文件。模板:true #需要本地模板yml资2022世界杯阿根廷预选赛赛程源:—名称:npm_repo_jfp_example类型:GitRepo配置:# SCM集成存储库所在的位置gitProvider: {{. values . myrepo。gitProvider}} #存储库路径,包括组织名/repo名路径:{{. values . myrepo。指定哪些分支将触发依赖的步骤包括:master - name: npm_buildinfo_jfp_example type: BuildInfo configuration: sourceArtifactory: demoArt pipelines: - name: npm_pipeline_jfp_example steps: - name: npm_build_step type: NpmBuild configuration: affinityGroup: npm_pipeline_jfp_example repositoryName: npm-virtual # required, npm repository name on artifactory sourceLocation:。# required,包的位置。- name: demoArt # required inputResources: - name: npm_r2022世界杯阿根廷预选赛赛程epo_jfp_example # required - name: npm_publish_step type: NpmPublish配置:affinityGroup: npm_pipeline_jfp_example # for payloadType npm: repositoryName: npm-virtual # required, npm repository name on artifactory autopubishbuildinfo: true #可选集成:- name: demoArt # required inputSteps: - name: npm_build_step # required outputResources: - name: npm_buildinfo_jfp_example # optional

上传Artifactory Repo

上传到一个名为npm-repo的Artifactory存储库。

这个例子不是一个完整的管道。NpmBuild步骤必须是同一管道的一部分。

NpmPublish
管道:—name: npmPublishPipeline步骤:—name: npmPublishStep类型:NpmPublish配置:deployerRepo: npm-repo集成:—name: artifactory_integration inputSteps:—name: npmBuildStep

将NpmBuild Step的结果上传到Artifactory Repo

将NpmBuild步骤的结果上传到一个名为npm-repo的Artifactory存储库,并上传构建信息。的示例1进行了扩展NpmBuild文档。

NpmPublish
管道:- name: npmBuildPipeline步骤:- name: npmBuildStep类型:NpmBuild配置:affinityGroup: npmBuildPipeline inputResources: - name: gitRepoReso2022世界杯阿根廷预选赛赛程urce集成:- name: artifactory_integration - name: npmPublishStep类型:NpmPublish配置:affinityGroup: npmBuildPipeline deployerRepo: npm-repo autopubishbuildinfo: true inputSteps: - name: npmBuildStep outputResources: - name: outputBuildInfo

发布构建信息和触发x射线扫描

在这个例子中,构建信息被发布,x射线扫描被触发。

NpmPublish
管道:- name: npmBuildPipeline步骤:- name: npmBuildStep类型:NpmBuild配置:affinityGroup: npmBuildPipeline inputResources: - name: gitRepoReso2022世界杯阿根廷预选赛赛程urce集成:- name: artifactory_integration - name: npmPublishStep类型:NpmPublish配置:affinityGroup: npmBuildPipeline deployerRepo: npm-repo autopubishbuildinfo: true forceXrayScan: true inputSteps: - name: npmBuildStep outputResources: - name: outputBuildInfo

工作原理

当你使用NpmPublish管道中的本机步骤,它在后台执行以下功能:

  • Jfrog rt使用(指定要使用的配置凭据)
  • restore_run_files(从NpmBuild步骤复制输出和构建信息)
  • Jfrog rt npm-config(配置部署repo)
  • Jfrog rt npm-发布
  • jfrog rt build-publish(如果autopubblishbuildinfo为true,则发布构建信息
  • write_output(如果autopubishbuildinfo为true,更新输出的BuildInfo资源)
  • jfrog rt build-scan(如果forceXrayScan为true,则触发扫描
  • Add_run_files(更新在运行状态下保存的构建信息)

相关的话题

管道示例:Npm Build

  • 没有标签
版权所有©2022 JFrog Ltd.