YAML模式
NpmBuild原生步骤的YAML模式如下:
NpmBuild
管道:- name:步骤:- name: 类型:NpmBuild配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash # for payloadType npm: npmArgs: # optional repositoryName: # optional, artifactory上的npm存储库名称resolverRepo: # optional, artifactory上的npm存储库名称sourceLocation: # optional,包含包的目录。- name: #必选,除非有一个文件pec输入inputResources: - name: #必选- name: < FileSpec资源> #可选执行:o2022世界杯阿根廷预选赛赛程nStart: - echo“准备工作…”onSuccess: - echo“工作做得好!”onFailure: - echo“呃哦,出错了”onComplete: #总是- echo“清理一些东西”
标签
的名字
一个字母数字字符串(允许使用下划线),用于标识步骤。
类型
必须NpmBuild
对于这个步骤类型。
配置
指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
集成 |
指定一个Artifactory集成模块将在哪里发布。中指定了FileSpec资源input2022世界杯阿根廷预选赛赛程Resources 这是可选的。否则,它是必需的。 |
可能需要 |
input2022世界杯阿根廷预选赛赛程Resources |
必须指定一个GitRepo资源.的 也可以选择指定文件规范资源它指定要复制到哪些文件 |
要求 可选 |
此外,可以定义这些标记来支持该步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
npmArgs |
指定使用的参数的命令行字符串npm-install. | 可选 |
resolverRepo |
Artifactory中npm存储库的名称。 | 可选 |
repositoryName |
替代resolverRepo .不要同时设置两个标记。 |
可选 |
sourceLocation |
的目录,其中包含package.json 文件,相对于GitRepo路径 . |
可选 |
执行
声明在执行前和执行后阶段执行的shell命令序列集合:
标签 | 使用说明 | 必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成后执行的命令 | 可选 |
onFailure |
在完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
对象执行的操作onExecute
阶段是此步骤类型固有的,不能被覆盖。
例子
下面的示例展示了如何配置NpmBuild步骤。
使用默认设置
使用默认位置和默认命令的NpmBuild步骤。
- 此示例需要一个GitHub集成.
- 本例中的管道DSL是可以在这个存储库在JFrogGitHub帐户。
- 有关运行此示例的详细信息,请参见管道示例:Npm Build.
NpmBuild
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。yml文件。模板:true #需要本地模板yml资2022世界杯阿根廷预选赛赛程源:—名称:npm_repo_jfp_example类型:GitRepo配置:# SCM集成存储库所在的位置gitProvider: {{. values . myrepo。gitProvider}} #存储库路径,包括组织名/repo名路径:{{. values . myrepo。路径}} branches: # Specifies which branches will trigger dependent steps include: 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: repositoryName: npm-virtual # required, npm repository name on artifacctory sourceLocation: . # required, location of package.json file integrations: - name: demoArt # required inputResources: - name: npm_repo_jfp_example # required
使用FileSpec Input
一个带有FileSpec输入的NpmBuild步骤,为构建提供不在GitRepo中的文件,而resolverRepo指定在解析依赖项时使用的Artifactory存储库。
NpmBuild
管道:- name: npmBuildPipeline步骤:- name: npmBuildStep类型:NpmBuild配置:sourceLocation: "source" resolverRepo: remote-npm inputResources: - name: gitRepoReso2022世界杯阿根廷预选赛赛程urce - name: fileSpecResource integrations: - name: artifactory_integration
工作原理
当你使用NpmBuild管道中的本机步骤,它在后台执行以下功能:
- jfrog rt配置(如果有一个FileSpec输入,使用输入FileSpec中的Artifactory凭证配置jfrog CLI)
- jfrog rt use(设置当前Artifactory的默认配置)
- cp(如果有一个输入FileSpec,将这些文件复制到克隆的GitRepo的根目录)
- Jfrog rt npm-config(配置存储库以解析依赖项)
- Jfrog rt npm-install
- Add_run_variables(为以后的步骤保存关于此步骤的信息)
- 收集环境变量
- Add_run_files(将输出和构建信息保存在运行状态,以便以后发布步骤)