Question
Ford Motor Company
US
Last activity: 22 Aug 2017 11:32 EDT
DevOps integration with Jenkins for deployment
Hi,
I have tried Jenkins for CI, while running the job getting below exception.
I have tried the below article,
BUILD FAILED C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\prpcserviceutilsWrapper.xml:171: Connection Property file -Dprpc.service.util.action=export is not a valid file Total time: 0 seconds Exiting with Error Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE
***Updated by Moderator: Marissa to update categories***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Pegasystems Inc.
US
The prior line in this file performs an echo for "prpcserviceutils.connection.filepath". What does that output look like?
The next line passes a bunch of args to "propertyfilegenerator". The last two of these are "operationName="${prpc.service.util.action}" opSpecificFile="${local.operation.specific.file.path}"".
You could echo these two before this is executed as well, to see if they are properly set.
Ford Motor Company
US
Hi Paul,
Here the full stack.
Hi Paul,
Here the full stack.
Started by user Anandh Palanisamy [EnvInject] - Loading node environment variables. [EnvInject] - Preparing an environment for the build. [EnvInject] - Keeping Jenkins system variables. [EnvInject] - Keeping Jenkins build variables. [EnvInject] - Injecting as environment variables the properties content SystemName=$BUILD_TAG SourcePassword=XXXX SourceHost=http://fcvas781.fmc4q.ford.com:9565 SourceUser=apalanis ParameterName=Value [EnvInject] - Variables injected successfully. [EnvInject] - Injecting contributions. Building in workspace C:\Anandh\Project\DevOps [jenkins] $ cmd.exe /C "ant.bat -file Jenkins-build.xml -DproductVersion=01-01-01 -DproductName=TestProduct exportprops && exit %%ERRORLEVEL%%" Buildfile: C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\samples\jenkins\Jenkins-build.xml exportprops: [length] C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\samples\jenkins\TestProduct does not exist [propertyfile] Creating new property file: C:\Anandh\Project\DevOps\jenkins-Testing-22_export.properties BUILD SUCCESSFUL Total time: 0 seconds [DevOps] $ cmd /c call C:\Users\APALANIS\AppData\Local\Temp\hudson3339067431872376806.bat C:\Anandh\Project\DevOps>C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\prpcServiceUtils.bat export --connPropFile Invoke our ant script, passing in the arguments as collected Buildfile: C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\prpcserviceutilsWrapper.xml [echo] *** JVM Arguments -XX:MaxHeapSize=1280m -XX:MaxMetaspaceSize=512m *** -init: [delete] Deleting directory C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\generated [mkdir] Created dir: C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\generated [pega:propertyparser] Reading Properties from : C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils/prpcServiceUtils.properties [pega:propertyparser] pega.rest.server.url=http://<host name>:<port number>/<context>/PRRestService/<tenant url hash> [pega:propertyparser] pega.rest.username= [pega:propertyparser] pega.rest.password=***** [pega:propertyparser] pega.rest.proxy.host= [pega:propertyparser] pega.rest.proxy.port= [pega:propertyparser] pega.rest.proxy.username= [pega:propertyparser] pega.rest.proxy.password=***** [pega:propertyparser] pega.rest.proxy.domain= [pega:propertyparser] pega.rest.proxy.workstation= [pega:propertyparser] pega.rest.response.type=xml [pega:propertyparser] user.temp.dir=C:/pega_temp [pega:propertyparser] export.archiveName= [pega:propertyparser] export.productName= [pega:propertyparser] export.productVersion= [pega:propertyparser] export.applicationVersion= [pega:propertyparser] export.applicationName= [pega:propertyparser] export.async=true [pega:propertyparser] expose.includedClasses= [pega:propertyparser] expose.includeDescendents=true [pega:propertyparser] expose.excludedClasses= [pega:propertyparser] expose.excludeDescendents=true [pega:propertyparser] expose.startKey= [pega:propertyparser] expose.endKey= [pega:propertyparser] expose.startDate= [pega:propertyparser] expose.endDate= [pega:propertyparser] expose.reindex=true [pega:propertyparser] expose.reindexType=nonpega [pega:propertyparser] expose.commitRate=100 [pega:propertyparser] expose.async=true [pega:propertyparser] import.archive.path= [pega:propertyparser] import.mode=import [pega:propertyparser] import.existingInstances=skip [pega:propertyparser] import.nofailonerror=false [pega:propertyparser] import.commitRate=100 [pega:propertyparser] import.compileLibraries=true [pega:propertyparser] import.allowImportWithMissingDependencies=false [pega:propertyparser] import.codesetName=Customer [pega:propertyparser] import.codesetVersion=06-01-01 [pega:propertyparser] import.async=true [pega:propertyparser] import.trackData=false [pega:propertyparser] manageTrackedData.operation= [pega:propertyparser] hotfix.operation= [pega:propertyparser] hotfix.dlFilePath= [pega:propertyparser] hotfix.catalogPath= [pega:propertyparser] hotfix.bypassSchema=false [pega:propertyparser] hotfix.force=false [pega:propertyparser] hotfix.async=true [pega:propertyparser] getstatus.jobID= [pega:propertyparser] getstatus.operationName= [mkdir] Created dir: C:\Users\APALANIS\AppData\Local\Temp\PegaInstallTemp-24-May-2017-10.00.36 [pega:hasenoughspace] Found 27218468KB of free space on 'C:\Users\APALANIS\AppData\Local\Temp\' -processInstances: [echo] Performing ${prpc.service.util.action} on multiple instance(s) [echo] argument line [echo] -action ${prpc.service.util.action} -propFileDir C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils/generated -poolSize ${prpcserviceutils.pool.size} -requestTimeOut ${prpcserviceutils.request.timeout} -tempDir C:\Users\APALANIS\AppData\Local\Temp\/PegaInstallTemp-24-May-2017-10.00.36 -artifactsDir logs [echo] Reading connection information from -Dprpc.service.util.action=export [pega:propertyfilegenerator] pega.rest.server.url=http://<host name>:<port number>/<context>/PRRestService/<tenant url hash> [pega:propertyfilegenerator] pega.rest.username= [pega:propertyfilegenerator] pega.rest.password=***** [pega:propertyfilegenerator] pega.rest.proxy.host= [pega:propertyfilegenerator] pega.rest.proxy.port= [pega:propertyfilegenerator] pega.rest.proxy.username= [pega:propertyfilegenerator] pega.rest.proxy.password=***** [pega:propertyfilegenerator] pega.rest.proxy.domain= [pega:propertyfilegenerator] pega.rest.proxy.workstation= [pega:propertyfilegenerator] pega.rest.response.type=xml [pega:propertyfilegenerator] user.temp.dir=C:/pega_temp [pega:propertyfilegenerator] export.archiveName= [pega:propertyfilegenerator] export.productName= [pega:propertyfilegenerator] export.productVersion= [pega:propertyfilegenerator] export.applicationVersion= [pega:propertyfilegenerator] export.applicationName= [pega:propertyfilegenerator] export.async=true [pega:propertyfilegenerator] expose.includedClasses= [pega:propertyfilegenerator] expose.includeDescendents=true [pega:propertyfilegenerator] expose.excludedClasses= [pega:propertyfilegenerator] expose.excludeDescendents=true [pega:propertyfilegenerator] expose.startKey= [pega:propertyfilegenerator] expose.endKey= [pega:propertyfilegenerator] expose.startDate= [pega:propertyfilegenerator] expose.endDate= [pega:propertyfilegenerator] expose.reindex=true [pega:propertyfilegenerator] expose.reindexType=nonpega [pega:propertyfilegenerator] expose.commitRate=100 [pega:propertyfilegenerator] expose.async=true [pega:propertyfilegenerator] import.archive.path= [pega:propertyfilegenerator] import.mode=import [pega:propertyfilegenerator] import.existingInstances=skip [pega:propertyfilegenerator] import.nofailonerror=false [pega:propertyfilegenerator] import.commitRate=100 [pega:propertyfilegenerator] import.compileLibraries=true [pega:propertyfilegenerator] import.allowImportWithMissingDependencies=false [pega:propertyfilegenerator] import.codesetName=Customer [pega:propertyfilegenerator] import.codesetVersion=06-01-01 [pega:propertyfilegenerator] import.async=true [pega:propertyfilegenerator] import.trackData=false [pega:propertyfilegenerator] manageTrackedData.operation= [pega:propertyfilegenerator] hotfix.operation= [pega:propertyfilegenerator] hotfix.dlFilePath= [pega:propertyfilegenerator] hotfix.catalogPath= [pega:propertyfilegenerator] hotfix.bypassSchema=false [pega:propertyfilegenerator] hotfix.force=false [pega:propertyfilegenerator] hotfix.async=true [pega:propertyfilegenerator] getstatus.jobID= [pega:propertyfilegenerator] getstatus.operationName= BUILD FAILED C:\Anandh\Project\DevOps\prpcServiceUtils\scripts\utils\prpcserviceutilsWrapper.xml:171: Connection Property file -Dprpc.service.util.action=export is not a valid file Total time: 0 seconds Exiting with Error Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE
Ford Motor Company
US
Hi All,
I found the issue and solution on the above issue, there is one issue on the prpcServiceUtils it will move the whole application only. Don't have a option to move ruleset alone.
Pega should come up with utility can used for ruleset move also.
Regards,
Anandh
Virtusa
IN
Hi Anandh,
I am also facing the same issue ,can you please help me on this.
Hi Anandh,
I am also facing the same issue ,can you please help me on this.
Started by user siva [EnvInject] - Loading node environment variables. [EnvInject] - Preparing an environment for the build. [EnvInject] - Keeping Jenkins system variables. [EnvInject] - Keeping Jenkins build variables. [EnvInject] - Injecting as environment variables the properties content TargetUser=robot SystemName=$BUILD_TAG SourcePassword=rules SourceHost=http://localhost:9090 TargetPassword=rules TargetHost=http://localhost:9090 SourceUser=robot [EnvInject] - Variables injected successfully. [EnvInject] - Injecting contributions. Building in workspace C:\Users\Vaishu\.jenkins\workspace\TestPega [jenkins] $ cmd.exe /C "ant.bat -file Jenkins-build.xml -DapplicationVersion=01.01.01 -DproductVersion=01.01.01 -DproductName=TestRAP -DapplicationName=TestAPP exportprops && exit %%ERRORLEVEL%%" Buildfile: C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\samples\jenkins\Jenkins-build.xml exportprops: [propertyfile] Creating new property file: C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\jenkins-TestPega-9_export.properties BUILD SUCCESSFUL Total time: 0 seconds [TestPega] $ cmd /c call E:\Pega\PRPCPersonalEdition\tomcat\temp\hudson2833122678448709761.bat C:\Users\Vaishu\.jenkins\workspace\TestPega>C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\prpcServiceUtils.bat export --connPropFile C:\Users\Vaishu\.jenkins\workspace\TestPega\jenkins-TestPega-9_export.properties --artifactsDir C:\Users\Vaishu\.jenkins\workspace\TestPega Invoke our ant script, passing in the arguments as collected Buildfile: C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\prpcserviceutilsWrapper.xml [echo] *** JVM Arguments -XX:MaxHeapSize=1280m -XX:MaxMetaspaceSize=512m *** -init: [delete] Deleting directory C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\generated [mkdir] Created dir: C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\generated [pega:propertyparser] Reading Properties from : C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils/prpcServiceUtils.properties [pega:propertyparser] pega.rest.server.url=http://<host name>:<port number>/<context>/PRRestService/<tenant url hash> [pega:propertyparser] pega.rest.username= [pega:propertyparser] pega.rest.password=***** [pega:propertyparser] pega.rest.proxy.host= [pega:propertyparser] pega.rest.proxy.port= [pega:propertyparser] pega.rest.proxy.username= [pega:propertyparser] pega.rest.proxy.password=***** [pega:propertyparser] pega.rest.proxy.domain= [pega:propertyparser] pega.rest.proxy.workstation= [pega:propertyparser] pega.rest.response.type=json [pega:propertyparser] user.temp.dir=C:/pega_temp [pega:propertyparser] export.archiveName= [pega:propertyparser] export.productName= [pega:propertyparser] export.productVersion= [pega:propertyparser] export.applicationVersion= [pega:propertyparser] export.applicationName= [pega:propertyparser] export.branchName= [pega:propertyparser] export.branchAppContext= [pega:propertyparser] export.async=false [pega:propertyparser] expose.includedClasses= [pega:propertyparser] expose.includeDescendents=true [pega:propertyparser] expose.excludedClasses= [pega:propertyparser] expose.excludeDescendents=true [pega:propertyparser] expose.startKey= [pega:propertyparser] expose.endKey= [pega:propertyparser] expose.startDate= [pega:propertyparser] expose.endDate= [pega:propertyparser] expose.reindex=true [pega:propertyparser] expose.reindexType=nonpega [pega:propertyparser] expose.commitRate=100 [pega:propertyparser] expose.numOfThreads=1 [pega:propertyparser] expose.async=true [pega:propertyparser] import.archive.path= [pega:propertyparser] import.mode=import [pega:propertyparser] import.existingInstances=skip [pega:propertyparser] import.nofailonerror=false [pega:propertyparser] import.commitRate=100 [pega:propertyparser] import.compileLibraries=true [pega:propertyparser] import.allowImportWithMissingDependencies=false [pega:propertyparser] import.codesetName=Customer [pega:propertyparser] import.codesetVersion=06-01-01 [pega:propertyparser] import.async=true [pega:propertyparser] import.trackData=true [pega:propertyparser] manageTrackedData.operation= [pega:propertyparser] hotfix.operation= [pega:propertyparser] hotfix.dlFilePath= [pega:propertyparser] hotfix.catalogPath= [pega:propertyparser] hotfix.bypassSchema=false [pega:propertyparser] hotfix.force=false [pega:propertyparser] hotfix.async=true [pega:propertyparser] getstatus.jobID= [pega:propertyparser] getstatus.operationName= [pega:propertyparser] manageRestorePoints.action= [pega:propertyparser] manageRestorePoints.restorePointName= [pega:propertyparser] manageRestorePoints.restorePointLabel= [pega:propertyparser] rollback.restorePointName= [pega:propertyparser] rollback.action=SystemRollback [pega:propertyparser] rollback.async=true [pega:propertyparser] rollback.downloadLogToFile=true [pega:propertyparser] updateAccessGroup.applicationName= [pega:propertyparser] updateAccessGroup.applicationVersion= [pega:propertyparser] updateAccessGroup.groupList= [mkdir] Created dir: C:\Users\Vaishu\AppData\Local\Temp\PegaInstallTemp-15-August-2017-11.59.38 [pega:hasenoughspace] Found 159602060KB of free space on 'C:\Users\Vaishu\AppData\Local\Temp\' -processInstances: [echo] Performing export on multiple instance(s) [echo] argument line [echo] -action export -propFileDir C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils/generated -poolSize ${prpcserviceutils.pool.size} -requestTimeOut ${prpcserviceutils.request.timeout} -tempDir C:\Users\Vaishu\AppData\Local\Temp\/PegaInstallTemp-15-August-2017-11.59.38 -artifactsDir C:\Users\Vaishu\.jenkins\workspace\TestPega [echo] Reading connection information from C:\Users\Vaishu\.jenkins\workspace\TestPega\jenkins-TestPega-9_export.properties [pega:propertyfilegenerator] pega.rest.server.url=http://<host name>:<port number>/<context>/PRRestService/<tenant url hash> [pega:propertyfilegenerator] pega.rest.username= [pega:propertyfilegenerator] pega.rest.password=***** [pega:propertyfilegenerator] pega.rest.proxy.host= [pega:propertyfilegenerator] pega.rest.proxy.port= [pega:propertyfilegenerator] pega.rest.proxy.username= [pega:propertyfilegenerator] pega.rest.proxy.password=***** [pega:propertyfilegenerator] pega.rest.proxy.domain= [pega:propertyfilegenerator] pega.rest.proxy.workstation= [pega:propertyfilegenerator] pega.rest.response.type=json [pega:propertyfilegenerator] user.temp.dir=C:/pega_temp [pega:propertyfilegenerator] export.archiveName= [pega:propertyfilegenerator] export.productName= [pega:propertyfilegenerator] export.productVersion= [pega:propertyfilegenerator] export.applicationVersion= [pega:propertyfilegenerator] export.applicationName= [pega:propertyfilegenerator] export.branchName= [pega:propertyfilegenerator] export.branchAppContext= [pega:propertyfilegenerator] export.async=false [pega:propertyfilegenerator] expose.includedClasses= [pega:propertyfilegenerator] expose.includeDescendents=true [pega:propertyfilegenerator] expose.excludedClasses= [pega:propertyfilegenerator] expose.excludeDescendents=true [pega:propertyfilegenerator] expose.startKey= [pega:propertyfilegenerator] expose.endKey= [pega:propertyfilegenerator] expose.startDate= [pega:propertyfilegenerator] expose.endDate= [pega:propertyfilegenerator] expose.reindex=true [pega:propertyfilegenerator] expose.reindexType=nonpega [pega:propertyfilegenerator] expose.commitRate=100 [pega:propertyfilegenerator] expose.numOfThreads=1 [pega:propertyfilegenerator] expose.async=true [pega:propertyfilegenerator] import.archive.path= [pega:propertyfilegenerator] import.mode=import [pega:propertyfilegenerator] import.existingInstances=skip [pega:propertyfilegenerator] import.nofailonerror=false [pega:propertyfilegenerator] import.commitRate=100 [pega:propertyfilegenerator] import.compileLibraries=true [pega:propertyfilegenerator] import.allowImportWithMissingDependencies=false [pega:propertyfilegenerator] import.codesetName=Customer [pega:propertyfilegenerator] import.codesetVersion=06-01-01 [pega:propertyfilegenerator] import.async=true [pega:propertyfilegenerator] import.trackData=true [pega:propertyfilegenerator] manageTrackedData.operation= [pega:propertyfilegenerator] hotfix.operation= [pega:propertyfilegenerator] hotfix.dlFilePath= [pega:propertyfilegenerator] hotfix.catalogPath= [pega:propertyfilegenerator] hotfix.bypassSchema=false [pega:propertyfilegenerator] hotfix.force=false [pega:propertyfilegenerator] hotfix.async=true [pega:propertyfilegenerator] getstatus.jobID= [pega:propertyfilegenerator] getstatus.operationName= [pega:propertyfilegenerator] manageRestorePoints.action= [pega:propertyfilegenerator] manageRestorePoints.restorePointName= [pega:propertyfilegenerator] manageRestorePoints.restorePointLabel= [pega:propertyfilegenerator] rollback.restorePointName= [pega:propertyfilegenerator] rollback.action=SystemRollback [pega:propertyfilegenerator] rollback.async=true [pega:propertyfilegenerator] rollback.downloadLogToFile=true [pega:propertyfilegenerator] updateAccessGroup.applicationName= [pega:propertyfilegenerator] updateAccessGroup.applicationVersion= [pega:propertyfilegenerator] updateAccessGroup.groupList= BUILD FAILED C:\Users\Vaishu\Desktop\PRPC\prpcServiceUtils-7.2.2\scripts\utils\prpcserviceutilsWrapper.xml:171: Connection Property file C:\Users\Vaishu\.jenkins\workspace\TestPega\jenkins-TestPega-9_export.properties is not a valid file Total time: 1 second Exiting with Error Build step 'Execute Windows batch command' marked build as failure
Thanks,
Siva
Pegasystems Inc.
US
@Siva, this is a generic error which will shown to the user while performing the export task if you have configuration issue in the jenkins-build.xml file or in your jenkins project configuration. In your case the issue can be different configuration, so cant judge the exact root cause of the issue with this generic error. You can share the Jenkins-build.xml file which is available in your prpcServiceUtils sample folder along with your configuration screenshot to investigate the root cause of your error.
Pegasystems Inc.
US
Hi Shiva,
Thanks for sharing your configuration details and after analyzing have below suggestions to you:
1. You need to update your jenkins-build.xml file as attached.
2. You should create the Product rule in your source machine.
3. Jenkins Project should be enabled with parameterized build then provide below String parameters,
productName -> Name of your Product rule
productVersion -> Version of your Product rule(eg:01-01-01)
applicationName -> Name of your application
applicationVersion -> Version of your application(eg:01.01.01)
4. Enable "Inject environment variables to the build process" checkbox and provide below properties in Properties content textarea,
ARTIFACTS_DIR=C:/MyInstalls/Jenkins(Jenkins install location)
ImportExistingInstances=override
5. In Build > Invoke Ant > for both the targets specify the build file as jenkins-build.xml using Advanced icon click,
For example : Build File -> $PEGA_HOME\scripts\samples\jenkins\Jenkins-build.xml
6. Provide different environment for the target location as you are providing same environment for both Source and Target.
Hope this changes will help you to achieve your requirement.
Regards
Mahesh
Pegasystems Inc.
US
Hi Anand,
I would like to look into your configuration file i.e. Jenkins-build.xml for investigating the issue.
Also please share the screenshots of your Jenkins Project configurations you had provided, if you have any security concern in sharing the community please share me the requested documents through private message, so that i can have a look into it.
Regards
Mahesh