【问题标题】:Jenkins Pipeline and jboss deployJenkins 流水线和 jboss 部署
【发布时间】:2018-11-24 07:19:27
【问题描述】:

我目前在我的项目中使用 Jenkins FreeStyle Project,试图迁移到 Jenkins Pipeline,但我遇到了一些问题:

1)我需要在我的项目中提交jenkinsfile,但是我的部署阶段只是从target/project.war复制到jboss部署文件夹,如下图:

stage('Deploy') { 
            steps {
                sh 'cp /var/lib/jenkins/workspace/project/project.war /opt/jboss/standalone/deployment/project.war'
            }
        }

问题:目前路径是固定的,明天如果发生变化,需要部署到另一台机器,应该对源代码进行更新,应该避免。在FreeStyle project 中,我只是更新了 JOB,一切正常。

2) 该项目有 3 个模块。 FreeStyle project 已配置为 JOB A 将在完成时调用 JOB B。在管道中如何实现此订单:
- 开始工作 A --> 工作 B --> 工作 C。

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    您可以在脚本中添加以下内容

    1.复制问题:

    • 首先,您避免使用实际路径(工作空间中文件的位置)到 相对路径,即使用 project/*.war 或 **/*.war 它将使用它 来自工作区本身。
    • 第二,谈到你遇到的问题 像你说的那样改变目标位置,你必须改变它 FreeStyle Project :) 所以你必须在 JenkinsFile 也:)

    2.调用管道中的其他作业和以下

     build job: 'Job2', parameters: [
                  new org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterValue
                      ("TARGET_NODE", "description", nodeName)
              ]
    

    如果它没有任何参数,则删除该部分。

    有一个叫做 Jenkins 工作流的东西,如果你对它感兴趣,它可以提供更多的权力和控制,你可以在这里查看它https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow?chapter=1

    【讨论】:

      【解决方案2】:

      你可以使用 sshPulisher:send build artifacts over ssh

      在您的詹金斯管道中添加此代码 并在管理 jenkins 中配置您的 sshServer 终于你的战争转移到你的目的地了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 2022-09-26
        • 2013-11-30
        • 2020-04-09
        • 2021-03-07
        相关资源
        最近更新 更多