YAML模式
NpmPublish本机步骤的YAML模式如下:
管道:- 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 |
要求 | |
output2022世界杯阿根廷预选赛赛程Resources |
必须指定BuildInfo资源如果 如果 |
可能需要 |
此外,可以定义这些标记来支持该步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
deployerRepo |
要在Artifactory中发布的npm存储库的名称。 | 可选 |
repositoryName |
替代deployerRepo .不要同时设置两个标记。 |
可选 |
forceXrayScan |
当设置为 默认是 |
可选 |
failOnScan |
当设置为 默认是 |
可选 |
autoPublishBuildInfo |
当设置为 默认是 |
可选 |
执行
声明在执行前和执行后阶段执行的shell命令序列集合:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成后执行的命令 | 可选 |
onFailure |
在完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
对象执行的操作onExecute
阶段是此步骤类型固有的,不能被覆盖。
例子
下面的示例展示如何配置NpmPublish步骤。
全管道示例
- 此示例需要一个GitHub集成.
- 本例中的管道DSL是可以在这个存储库在JFrogGitHub帐户。
- 有关运行此示例的详细信息,请参见管道示例:Npm Build.
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。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步骤必须是同一管道的一部分。
管道:—name: npmPublishPipeline步骤:—name: npmPublishStep类型:NpmPublish配置:deployerRepo: npm-repo集成:—name: artifactory_integration inputSteps:—name: npmBuildStep
将NpmBuild Step的结果上传到Artifactory Repo
将NpmBuild步骤的结果上传到一个名为npm-repo的Artifactory存储库,并上传构建信息。的示例1进行了扩展NpmBuild文档。
管道:- 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射线扫描被触发。
管道:- 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(更新在运行状态下保存的构建信息)