从artifactory中选择artifact以在Jenkins中部署管道作业

从artifactory中选择artifact以在Jenkins中部署管道作业,jenkins,jenkins-pipeline,artifactory,Jenkins,Jenkins Pipeline,Artifactory,这可能吗?假设我有两份工作。一个用于构建工件并以最新版本将其上载到artifactory。以及将工件部署到服务器的另一个作业。但是我想选择工件版本。假设部署已经完成,但无法工作,所以我重新部署并选择了上一个工件(或者我想要选择的工件)。这在jenkins的pipleine项目中可行吗?比如参数化的构建或者类似的东西 谢谢 它将与管道作业一起工作。我只是在管道工作 例如: 假设你有两份工作 作业A和作业B(两个管道作业) 安装Maven元插件 去工作B “此构建已参数化”复选框,从出现的下拉列表

这可能吗?假设我有两份工作。一个用于构建工件并以最新版本将其上载到artifactory。以及将工件部署到服务器的另一个作业。但是我想选择工件版本。假设部署已经完成,但无法工作,所以我重新部署并选择了上一个工件(或者我想要选择的工件)。这在jenkins的pipleine项目中可行吗?比如参数化的构建或者类似的东西

谢谢


它将与管道作业一起工作。我只是在管道工作

例如:

  • 假设你有两份工作

  • 作业A和作业B(两个管道作业)

  • 安装Maven元插件
  • 去工作B
  • “此构建已参数化”复选框,从出现的下拉列表中选择“列出maven工件版本”
    配置要检索版本的工件
  • 将参数命名为deploy\u version
  • 在作业B->选择版本并单击构建
  • 管道内脚本将所选版本作为param.deploy\u版本接收
  • 因为您知道工件版本和工件URL。您可以使用Jenkinsn中的CURL/httprequest插件下载必要的
    来自Artifactory的工件(我正在使用Maven Ansible工件
    插件(下载)
  • 继续部署

  • 根据这一回答:

    Jenkins的artifactory插件可以选择“解析”工件,即从artifactory下载工件。但这可能需要付费的专业版$_$

    使用artifactory jenkins插件下载工件(付费)

    • 配置你的人工插件

    • 在resolve部分,您可以下载您的工件

    使用命令行和maven下载工件

    • 配置maven和artifactory身份验证

    • 从artifactory下载工件

      mvn org.apache.maven.plugins:maven依赖插件:2.1:get\
      -沉闷=http://my_artifactory-url.com \
      -Dartifact=groupId:artifactId:version
      


    来源:

    你是在使用jenkins插件还是仅仅执行shell?我已经安装了artifactory插件来上传/下载。但我想知道是否有一种方法可以在构建开始之前选择工件。对于artifactor插件,我相信下载或上传是在代码内部。必须使用此插件?如果您知道工件名称,可以将其转换为参数并在第二份工作中传递。您可以从控制台输出或直接在从属服务器中找到工件名称。没有JRichardsz不是必需的,但我知道这是唯一的方法。其他选项是什么?我使用的是jenkins管道项目,而不是maven项目,在第一个job:mvn clean compile war:war的步骤之一中,mvn命令在groovy脚本中执行。我正在寻找第二个作业,您可以手动选择在第一个作业上构建的工件。这可能吗?我想您应该在第一次工作期间将工件构建推送到Artifactory。在第二个作业中,配置上面提到的,以列出artifactory/nexus中的工件。在第二个作业中,使用管道脚本接收所选工件,并再次拉取它以部署它。hmmm使用管道作业代替maven是否可能?你提到的链接谈到了maven:“JENKINS/maven+工件+ChoiceListProvider+插件”我需要的正是这些,但对于管道作业,而不是mavenjob@yiyito-我现在已经编辑了答案。希望它现在清楚。如果你愿意,我们可以创建一个jenkins插件来简单地上传和下载工件。这可能吗?这正是我需要的。首先,选择一种方法并尝试它。如果它符合您的要求,我们可以开始创建插件(需要java知识)。我将等待你的确认。
         Job A -> Build and push the artifacts to Artifactory. 
         Job B -> Fetch the artifact from Artifactory and deploy.