YAML模式
的YAML模式Aql:
2022世界杯阿根廷预选赛赛程resources:—name:type: Aql configuration: sourceArtifactory: query: adddedproperties: key1: val1 key2: val2 mappings:—name: mapping1 input: output:—name: mapping2 input: output:
标签
名字
一个字母数字标识资源的字符串(允许使用下划线)。
类型
必须Aql对于此资源类型。
配置
指定资源的所有配置选择。
标签 |
描述 |
必需的/可选 |
|---|---|---|
sourceArtifactory |
的名称Artifactory集成. | 要求 |
查询 |
一个Artifactory查询语言查询字符串。 |
要求 |
addedProperties |
发布包发布后将添加到工件的已添加属性的列表。
|
可选 |
|
发布包发布后应用到工件路径的映射列表.
|
可选 |
例子
- 这些例子可能需要一个Artifactory集成和/或一个分布的集成.
- 本例的管线DSL可在这个存储库在JFrogGitHub帐户。
示例1:具有构建名称和编号的AQL
2022世界杯阿根廷预选赛赛程资源:- name: myAqlResource类型:Aql配置:sourceArtifactory: myArtifactoryIntegration查询:items.find({"@build.name":{"$eq":"buildName"}}) - name: myReleaseBundle类型:ReleaseBundle配置:sourceDistribution: myDistributionIntegration名称:name版本:'1' pipeline: - name: pipelineToUpdateResource steps: - name: myBashStep类型:Bash配置:integrations: - name: myArtifactoryIntegration outputResources: - name: myAqlResource执行:onExecute:- write_output myAqlResource query='items.find({"@build.name":{"$eq":"myBuildName"}})' - name: CreateReleaseBundlePipeline配置:inputResources: - 2022世界杯阿根廷预选赛赛程name: myAqlResource outputResources: - name: myReleaseBundle步骤:- name: myCreateReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: ${JFROG_CLI_BUILD_NAME} releaseBundleVersion: ${run_id} dryRun: true
例2:带有文件名的AQL
2022世界杯阿根廷预选赛赛程资源:—名称:myAqlResource类型:Aql配置:sourceArtifactory: myArtifactoryIntegration查询:'items。find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})' - name: myReleaseBundle类型:ReleaseBundle配置:sourceDistribution: myDistributionIntegration名称:name版本:'1'管线:- name: myCreateReleaseBundlePipeline步骤:- name: myCreateReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: ${JFROG_CLI_BUILD_NAME} releaseBundleVersion: ${run_id} dryRun: false inputResources: - name: myAqlResource outputResources:2022世界杯阿根廷预选赛赛程- name: myReleaseBundle
例3:AQL向发布包中的工件添加附加属性
2022世界杯阿根廷预选赛赛程资源:—名称:myAqlResource类型:Aql配置:sourceArtifactory: myArtifactoryIntegration查询:'items。find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})' adddedproperties: myRunNumber: ${run_id} - name: myReleaseBundle类型:ReleaseBundle配置:sourceDistribution: myDistributionIntegration名称:name版本:'1' pipeline: - name: myCreateReleaseBundlePipeline步骤:- name: myCreateReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: ${JFROG_CLI_BUILD_NAME} releaseBundleVersion: ${run_id} dryRun: false inputResources:2022世界杯阿根廷预选赛赛程—name: myAqlResource outputR2022世界杯阿根廷预选赛赛程esources:—name: myReleaseBundle
例4:将一个路径映射到另一个路径的AQL
2022世界杯阿根廷预选赛赛程资源:—名称:myAqlResource类型:Aql配置:sourceArtifactory: myArtifactoryIntegration查询:'items。find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})' mappings: - name: myMapping input: example-repo-local/myFile.txt output: example-repo-local/myFile_2.txt - name: myReleaseBundle type: ReleaseBundle configuration: sourceDistribution: myDistributionIntegration name: name version: '1' pipelines: - name: myCreateReleaseBundlePipeline steps: - name: myCreateReleaseBundleStep type: CreateReleaseBundle configuration: releaseBundleName:${JFROG_CLI_BUILD_NAME} releaseBundleVersion: ${run_id} dryRun: false input2022世界杯阿根廷预选赛赛程Resources: - name: myAqlResource outputResources: - name: myReleaseBundle
例5:在输入中使用捕获组的AQL映射路径
2022世界杯阿根廷预选赛赛程资源:—名称:myAqlResource类型:Aql配置:sourceArtifactory: myArtifactoryIntegration查询:'items。find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})' mappings: - name: myMapping input: example-repo-local/myFile.(.*) output: example-repo-local/myFile_2. {"$eq": "example-repo-local"}}}$1 - name: myReleaseBundle类型:ReleaseBundle配置:sourceDistribution: myDistributionIntegration名称:name版本:'1'管线:- name: myCreateReleaseBundlePipeline步骤:- name: myCreateReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: ${JFROG_CLI_BUILD_NAME} releaseBundleVersion: ${run_id} dryRun: false inputResources: - name: myAqlResource outputResources: - name: m2022世界杯阿根廷预选赛赛程yReleaseBundle
例子6
pipelines.yml
2022世界杯阿根廷预选赛赛程resources:—name: Aql_ART_1 type: Aql configuration: sourceArtifactory: myArtifactoryIntegration查询:items.find({"@build.name":{"$eq":"art"}}) adddedproperties: key1: value1 key2: value2 mappings: - name: mapping1 input: IN output: test1 - name: mapping2 input: IN output: test2 pipelines: - name: pipelines_ART_1 steps: - name: step_ART_1 type: PowerShell configuration: nodePool: win_2019 inputResources:—name: Aql_ART_1 trigger: true execute: onExecute: - write-output " execution step…"

