Jenkins:如何使用Jenkinsfile通过远程代理在Windows上重命名和复制生成的文件

时间:2019-09-05 02:49:42

标签: jenkins jenkins-pipeline

我运行以下脚本,以在Windows机器上构建Ionic应用程序的Windows版本。 Jenkins已安装在Mac上,以下版本在Windows计算机上运行远程代理。

    pipeline {
      agent none
      stages {

        stage('Build Windows') {
           agent { 
            label 'windows'
          }
           environment {
              PATH="C:\\Windows\\System32;C:\\Windows\\System32\\Wbem;C:\\Program Files\\nodejs;C:\\Users\\pchapman\\AppData\\Roaming\\npm;C:\\Program Files (x86)\\Windows Kits\\10"
          }
          steps {
            checkout scm
            println "installing packages"
            bat 'npm install'

            println "Building"
            bat 'ionic cordova build windows --prod --release -- --archs="x86 x64 arm" --buildConfig=platform_build_files\\windows\\build.config'

            println "Copy built images"

            bat 'ren platforms\\windows\\AppPackages\\CordovaApp.* platforms\\windows\\AppPackages\\MyApp.*'
            bat 'if not exist c:\\MyAppBuilds mkdir c:\\MyApp'
            bat 'copy platforms\\windows\\AppPackages\\*.appxupload c:\\MyAppBuilds'            
        }   
      }  
    }

一切正常,直到println“复制生成的图像”之后的3个蝙蝠步骤,在此我看到以下错误...

[Pipeline] echo
    Copy built images
    [Pipeline] bat

    c:\jenkins\workspace\myApp>ren platforms\windows\AppPackages\CordovaApp.* platforms\windows\AppPackages\MyApp.* 
    The syntax of the command is incorrect.

我还尝试将bat命令放在script: {}块中,但这也不起作用。

其他bat命令起作用(例如bat ionic cordova构建Windows`),所以想知道为什么这些简单的cmd提示命令不起作用?

我能做到以上几点吗?如果可以,我需要使用什么语法。

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

此问题已通过更改格式错误或错误的路径来解决。