Jenkins Pipeline和jboss部署

时间:2018-06-14 13:31:13

标签: jenkins jenkins-pipeline

我目前在我的项目中使用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,以便作业A 在完成时调用作业B 。在管道中如何实现这种秩序:
    - 开始工作A - >工作B - >工作C

2 个答案:

答案 0 :(得分:1)

您可以将以下内容添加到脚本中

1.发表复印件:

  • 首先,您要避免使用实际路径(工作区中的文件位置) 相对路径,即使用项目/ * .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

答案 1 :(得分:1)

您可以使用sshPulissher:通过ssh发送构建工件 enter image description here

enter image description here 在您的詹金斯管道中添加此代码 enter image description here 并在管理詹金斯中配置sshServer enter image description here 最终,您的战争转移到了目的地

enter image description here