【问题标题】:How to copy Jenkins config files in a jenkins pipeline to Web server如何将 jenkins 管道中的 Jenkins 配置文件复制到 Web 服务器
【发布时间】:2018-11-09 15:29:16
【问题描述】:

我在 Jenkins 配置文件中有一些 files.properties,我需要在 jenkins 管道期间将其复制到服务器。

管道代码更像是一个更少的显示,只是为了得到一个想法。 如何添加一个步骤,在 las 步骤之后在目标服务器上复制此配置文件的步骤 DEPLOY WAR TO SERVER 在管道中,例如:“sh Scp file.properties jenkins@destinationserver:/destination/path/file.properties "

code {
stage ('Code Checkout') {
            git branch: 'master',
                credentialsId: 'b346fbxxxxxxxxxxxxxxxxxxx',
                url: 'https://xxxxxxx@bitbucket.org/gr/code.git'

        }
stage ('Check Branch') { 
        sh 'git branch'
}

stage('Compile and Build WAR') {
        sh 'mvn clean compile war:war'

stage ('Deploy WAR to server') {
            sh "scp .war jenkins@serverIp:/var/lib/tomcat/.war"

        }

【问题讨论】:

    标签: jenkins jenkins-pipeline configuration-files


    【解决方案1】:

    这很容易。您需要安装Config File Provider Plugin,然后您可以通过访问htts://localhost/jenkins/pipeline-syntax/ 生成相应的行。从那里的下拉列表中,您可以选择configFileProvider 并填写表格的其余部分。

    最终结果会是这样的:

    configFileProvider(
        [configFile(fileId: 'maven-settings-or-a-UUID-to-your-config-file', variable: 'MAVEN_SETTINGS')]) {
        sh 'mvn -s $MAVEN_SETTINGS clean package'
    }
    

    【讨论】:

    • 用于 mvn,在这种情况下,我使用的是常规的“file.properties”,如图所示,我想在管道期间复制到远程服务器。看看我上传的最后一张图片。
    • 还是一样。在上面的示例中,您将复制从站上的fileId 并将文件的路径设置为环境变量MAVEN_SETTINGS。然后,在sh 步骤中,env var 用于指定复制的 mvn settings.xml 文件的位置。在您的情况下,您只需将变量名称更改为其他名称并将正确的 fileId 设置为指向您拥有的 .properties 文件。
    • 好的,所以最后它会像 {sh cp $CONFIG_FILE_PATH resources/config.properties' sh scp resources/config.properties jenkins@server:/path/to/copy/config.properties ?...}
    • 是的,您确实可以这样做。如果您愿意 - 您可以通过 sh "cat $CONFIG_FILE_PATH" 在您的管道中对其进行测试,它将在您的构建日志中输出整个文件。所以,你也可以sh "scp $CONFIG_FILE_PATH user@remote:/path/file"它。
    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多