SQLPlus Script Runner2.0.12Minimum Jenkins requirement: 2.176.3ID: sqlplus-script-runner

Installs: 1760
Last released:
Maintainers
Fernando Boaglio

This plugin enables you run Oracle SQL*Plus scripts on your Jenkins jobs (user defined scripts or a script inside a workspace).

Releases

  • 1.x - For Jenkins 1.x
  • 2.x - For mainly Jenkins 2.x, credentials plugins implemented and pipeline support


Migration Guide

To migrate your workspace from version 2 is very simple, all you need to do is:

  1. Create a credential for your user and password;
  2. Edit you job configuration and select one credential;
  3. Save your changes and you are good to go!



Summary

This plugin enables you run Oracle SQL*Plus scripts on your Jenkins jobs ( Oracle SQL*Plus installation required! ).

Configuration

Global

All you have to do is check the auto detect ORACLE_HOME option ( or a valid ORACLE_HOME ) and you are in business:



If you are having problems try to enable Debug info to see what is going on.

By Job

You can run a script inside your workspace or a user defined for every job:


Version 1.x:


 


Version 2.x :


Environment variables


Pay attention to what version you are using in order to work with variables:


variableVersion 1.xVersion 2.x
user  okreplaced by credentials
password okreplaced by credentials
instanceokok



You can use global variables for user and instance, first creating it in Jenkinsconfiguration :


You user global variable can hold username and password as well like this (username/password):



And then using it:

Running

You can check later all SQL*Plus output inside your build output:


Pipeline


User defined script


node {
   echo 'SQLPlusRunner running user define script for system@xe'
  
 step([$class: 'SQLPlusRunnerBuilder',credentialsId:'system', 
instance:'xe',scriptType:'userDefined', script: '',scriptContent: 
'select * from v$version'])
}



File script


node {
   echo 'SQLPlusRunner running file script for system@xe'
  
 step([$class: 'SQLPlusRunnerBuilder',credentialsId:'system', 
instance:'xe',scriptType:'file', script: 'start.sql',scriptContent: ''])
}



Optional pipeline parameters


  • customOracleHome
  • customSQLPlusHome
  • customTNSAdmin



Download the last release and give it a try!

Reported problems


my script takes forever to execute...


Windows users sometimes get a running script stuck on build, even though they run everything on Oracle.

In that case you should use Build Time Out plugin together to get everything working fine.


I have an error ORA-????


You should try running manually SQL*Plus before use Jenkins.

Sometimes on Linux Jenkins has his own Operation System user with his own variables.


Every time I get this error: cannot find sqlplus


Jenkins plugin can't find SQL*Plus executable file.

You should do in this order:

  1. Stop Jenkins;
  2. Find where are sqlplus executable file (usually at $ORACLE_HOME);
  3. Check if they have proper permissions (chmod 755 *);
  4. Create a global environment variable ORACLE_HOME like this:
    export ORACLE_HOME=/oracle/app/oracle/product/12.1.0/dbhome_1/    or   export ORACLE_HOME=<your-sqlplus-directory>

  5. Test your environment with:  sqlplus -v    , should return SQL*Plus version like SQL*Plus: Release 12.1.0.1.0 Production

  6. Start Jenkins;

  7. Use the try to detect ORACLE_HOME option;

  8. Retry your SQL*Plus operation.


Every time I get this error: libsqlplus.so: cannot open shared object file: No such file or directory or SP2-0667: Message file sp1.msb not found


SQL*Plus need its library and its message file to work properly.

You should do in this order:

  1. Stop Jenkins;
  2. Find where are libsqlplus.so files (usually at $ORACLE_HOME\lib );
  3. Check if they have proper permissions (chmod 755 *);
  4. Create a global environment variable LD_LIBRARY_PATH like this:
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH    or   export LD_LIBRARY_PATH=<your-libsqlplus-directory>:$LD_LIBRARY_PATH

  5. Test your environment with:  sqlplus -v    , should return SQL*Plus version like SQL*Plus: Release 12.1.0.1.0 Production

  6. Start Jenkins;

  7. Use the try to detect ORACLE_HOME option;

  8. Retry your SQL*Plus operation.


I want to hide my user / password from Console Output


  1. Install Mask Passwords Plugin;

  2. Setup to hide everything you want.




I have a bug to report

Please open a new issue and inform:

  • Jenkins server Operation System;
  • Jenkins version ;
  • Where SQLPlus Script Runner is running (local machine or slave machine);
  • Slave machine Operation System (if applicable);
  • Oracle Database version;
  • Oracle SQL*Plus version;
  • Build log with debug info enabled.

 

ArchivesGet past versions
Links
Labels