- Notifications
You must be signed in to change notification settings - Fork20
Demo project using utPLSQL v3 with Travis as a CI server and SonarCloud for code analysis, coverage and test results
License
utPLSQL/utPLSQL-demo-project
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
utPLSQL build using RedgateFlyway
This is a demo project usingutPLSQL 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 usingTravis CI.
The build process consists of following steps:
- Download Oracle Database 11g XE
- Downloadlatest release of utPLSQL
- Install Oracle Database
- InstallutPLSQL framework
- Installproject sources
- Installunit tests
- Download and unzip theutplsql-cli project binaries
- Execute all tests on the project
- Publishtest results andcode coverage toSonarQube 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 usingutPLSQL 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 usingAzureDevops 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
- Build Stage consists of following steps:
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
- Deploy Stage consists of following steps:
About
Demo project using utPLSQL v3 with Travis as a CI server and SonarCloud for code analysis, coverage and test results
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.