Using Jenkins in nower days you have to learn all about using Pipelines. This presentation shows how to user Jenkins Pipelines inside Oracle Projects.
The Presentation was held on the DOAG Conference 2019 in nuremberg.
2. 2
Unsere Hard Facts
Zertifizierter
Partner von
Oracle
Microsoft
280
Beschäftigte
Inhabergeführt
Ausbildungsbetrieb
Partner im
dualen Studium
Branchen-
übergreifend
Herstellerneutral
Hauptsitz
Ratingen
Niederlassungen
Frankfurt am Main
Köln
Dortmund
München
Gründung
1994
33 Mio. Euro
Umsatz
>100 Kunden
Ihr Partner für den digitalen Wandel
Individuelle IT-Lösungen aus einer Hand
15. 16
Errorhandling
basic
findText regexp: '<regular expression>', fileSet: '<file set>‘
check the console log:
findText regexp: '<regular expression>', fileSet: '<file set>', alsoCheckConsoleOutput: true
only check console:
findText regexp: '<regular expression>', alsoCheckConsoleOutput: true
mark success, warning or failure use succeedIfFound, unstableIfFound, or notBuiltIfFound:
findText regexp: '<regular expression>, alsoCheckConsoleOutput: true, unstableIfFound: true
with Text Finder plugin (since Version 1.11)
16. 17
Errorhandling
stage("Install all QS Packages") {
steps {
bat 'REM -----Install all QS Packages STARTED-----'
bat '''cd trunk
batchinstall_qs_objects batchaccount_data_%environment%.txt''‚
bat 'REM -----Install all QS Packages FINISHED-----'
script {
String[] errors = ["ORA-", "SP2-"]
String[] warnings = ["WARNING"]
checkConsoleOutputAfterBuildStep("-----Install all QS Packages STARTED-----",
"-----Install all QS Packages FINISHED-----",
errors, "Install all QS Packages Failed!", "FAILURE")
checkConsoleOutputAfterBuildStep("-----Install all QS Packages STARTED-----",
"-----Install all QS Packages FINISHED-----",
warnings, "Install all QS Packages has warnings!", "UNSTABLE")
}}}
custom plugin
17. 18
Support multiple Environments
One Pipelinejob for multiple instances
• only one pipeline to maintain
One Pipelinejob for every instance
• less parameters
• automation possible
• see when last time the environment was updated
• see which environment is successfully patched
one Jenkinsfile is used for …
18. 19
Parameters
• Impdp_source_environment
=> which base datapump file to use?
• Version
=> which version to install?
• Impdp_version
=> what is the version of the dataump file?
• run_install_script_pre_version
=> any script which has to run after import
the dump`?
19. 20
Logs
• logs are generated every installation
• logs are save inside Source Control Management
• logs are related to the release
• logs are also saved when installation is not done by jenkins
• logs must be saved even when Jenkins Pipeline is broken
20. 21
utPLSQL
• utPLSQL is used for Unit Testing
http://utplsql.org/
• One job by every bigger component
• utPLSQL will generate an XML Output
• Use Post-build Action to generate one XML
File based on the output
• Use Publish Junit test result report for
generating the Test Result
21. 22
Build a Release File
• Customer needs an installationfile => one ZIP-Archive
• ZIP-Archive will be add to VCM (Artifact)
• Installation without Jenkins is needed
• Parameters for Databases must be added
• Parameters for Development/Testing environments are removed
• Further checks only for developer purposes are removed
• Release Notes will be generated