Hello,
I'd like to open an account to register a bug in Jenkins.
Jenkins version 1.544
tl;dr :
OK : Real machine -> DOS Batch -> Perl -> OLE Excel
NOK : Real machine -> Jenkins slave node -> DOS Batch -> Perl -> OLE Excel
Note :
The Jenkins server is located on a virtual machine with no Excel.
The Jenkins slave is located on a real machine with Excel installed.
The Jenkins' job is specified to run locally on the real machine.
Description :
I've created a make engine in DOS batch file that use TXT configuration
files.
This engine execute a Perl script from a TXT configuration file.
The Perl script open a generated CSV file and parse it.
The Perl script open an OLE object on Excel.
The Perl script open a XLSM file through the OLE object.
The Perl script feed the XLSM with the parsed data.
The Perl script save the XLSM and close Excel.
I call the make engine from a configuring batch file.
I say it works when the execution of Perl, the script, opening Excel,
feeding data, saving and closing happens.
When I call the batch file directly or from another batch, it works.
When I call the batch file from a build step in a Jenkins' job, the OLE
opening in the Perl script fails.
The problem is that the communication link between the server and the slave
is only composed of two Java nodes running on both ends.
The Jenkins' slave node can run a batch, the make engine, the perl script
(parsing is OK) But the OLE creation fails in Perl when called from the
make engine called from Jenkins.
All paths are verified to be correct.
Perl script extract :
- - - 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Excel file generator
use OLE;
use Cwd;
# Opening Excel fails when run through Jenkins
my $excel = CreateObject OLE 'Excel.Application' or die $!;
$excel->{'Visible'} = 1;
$excel->{'ScreenUpdating'} = 0;
# Perl reports a problem here when run through Jenkins
my $worksheet = $workbook->WorkSheets("Symbols");
- - - 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The problem is serious.
David
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.