GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - utPLSQL/utPLSQL-demo-project: Demo project using utPLSQL v3 with Travis as a CI server and SonarCloud for code analysis, coverage and test results

BranchesTags
Open more actions menu

Latest commit

 

History

399 Commits
399 Commits

Folders and files

NameName
Last commit message
Last commit date
.azure_templates
.azure_templates
 
 
.github/workflows
.github/workflows
 
 
scripts
scripts
 
 
source
source
 
 
test
test
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
sonar-project.properties
sonar-project.properties
 
 
utlplsql-demo-project.yml
utlplsql-demo-project.yml
 
 
utplsql-cicd-flyway-demo.yml
utplsql-cicd-flyway-demo.yml
 
 
utplsql-cicd-liquibase-demo.yml
utplsql-cicd-liquibase-demo.yml
 
 
utplsql_changelog.xml
utplsql_changelog.xml
 
 
utplsql_flyway.conf
utplsql_flyway.conf
 
 

Repository files navigation

Build Quality Gate Status

Main utPLSQL Project Build: Build Status

utPLSQL build using Liquibase Build Status

utPLSQL build using RedgateFlyway Build Status

CI/CD and Unit Testing for Oracle PLSQL

Demo project using utPLSQL, Travis and SonarCloud for continuous integration of PLSQL and SQL code.

This is a demo project using utPLSQL v3 for unit testing of Oracle PLSQL code. The project is also taking benefit of Continuous Integration with Travis CI server as well as static code analysis, code coverage and test results reporting using SonarCloud.

With every commit made to the github repository, a build job is executed using Travis CI.

The build process consists of following steps:

  • Download Oracle Database 11g XE
  • Download latest release of utPLSQL
  • Install Oracle Database
  • Install utPLSQL framework
  • Install project sources
  • Install unit tests
  • Download and unzip the utplsql-cli project binaries
  • Execute all tests on the project
  • Publish test results and code coverage to SonarQube cloud service

Demo project using utPLSQL, Azure Devops and SQLCL Liquibase / Redgate Flyway for continuous integration of PLSQL and SQL code.

This is a demo project using utPLSQL v3 for unit testing of Oracle PLSQL code. The project is also taking benefit of Continuous Integration with Azure Devops server as well as static code analysis, code coverage and test results reporting using SonarCloud.

With every commit made to the github repository, a pipeline is executed using AzureDevops CI. The pipeline is split into stages. Each stage is build from one job which is split into set of smaller tasks responsible for the whole build.

In our pipeline we used following setup for stages:

  • Build Database: During this stage we are deploying our code using SQLCL Liquibase. This ensures that syntax of command is correct as well as integrity of changes with others Tests are deployed to that database and executed. In our scenario we are forcing the failure into success using utplsqlcli option --failure-exit-code=0. Code coverage and test results are published and immutable artifact is created that will be propagated to next stages of deployment.
    • Build Stage consists of following steps:
      • Download binaries for utplsqlcli and sqlcl (this step is optional, its possible that in self hosted agent this will be part of agent etc.)
      • Provision a database from docker (this steps is optional and depends on your setup of databases, for example Delphix provisioning)
      • Clone utPLSQL repository and install utPLSQL sources into database
      • Create test user and install test packages
      • Execute Liquibase / Flyway commands to update database
      • Execute utPLSQL tests
      • Publish test results to pipeline
      • Execute SonarCloud analysis and publish results
      • Prepare artifact for publish to next stage

At the end of build stage we will produce immutable artifact that has been tested and can be passed downstream to deployment jobs.

  • Deploy Code to Database: During this stage we are using an artifact created during build stage. We will download it and deploy to the databases ( e.g. DEV,PRD, UAT, NFT etc.), during this stage running tests depends on project setup and the stage ( we will not be deploying tests to PRD but possible to DEV yes)
    • Deploy Stage consists of following steps:
      • Download binaries for utplsqlcli and sqlcl (this step is optional, its possible that in self hosted agent this will be part of agent etc.)
      • Provision a database from docker ( this step most likely you will not run as these databases will exists already)
      • Create user to deploy code to ( this step most likely you will not run as the user will exists already and we will update database)
      • Execute Liquibase / Flyway commands to update database

About

Demo project using utPLSQL v3 with Travis as a CI server and SonarCloud for code analysis, coverage and test results

Topics

demooracle-databaseunit-testingutplsql

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

30 stars

Watchers

11 watching

Forks

21 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.