Skip to content

Commit c45a2d1

Browse files
committed
Update code to work for travis
1 parent 952d354 commit c45a2d1

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,32 @@ The build process consists of following steps:
2323
- [Execute all tests](test/run.sh) on the project
2424
- Publish [test results](https://sonarcloud.io/component_measures/metric/tests/list?id=utPLSQL%3AutPLSQL-demo-project) and [code coverage](https://sonarcloud.io/component_measures/metric/coverage/list?id=utPLSQL%3AutPLSQL-demo-project) to [SonarQube](https://sonarcloud.io/) cloud service
2525

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

2828
This is a demo project using [utPLSQL v3](https://github.com/utPLSQL/utPLSQL) for unit testing of Oracle PLSQL code.
2929
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.
3030

3131
With every commit made to the github repository, a pipeline is executed using [AzureDevops](https://dev.azure.com/utplsql/utplsql/_build) CI.
32-
The pipeline is setup into stages.
32+
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.
33+
34+
In our pipeline we used following setup for stages:
3335
- 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.
3436
- Build Stage consists of following steps:
3537
- Download binaries for utplsqlcli and sqlcl *(this step is optional, its possible that in self hosted agent this will be part of agent etc.)*
36-
- Provision a database from docker *(this steps is optional and depends on your setup of databases)*
37-
- Clone utplsql repository and install utPLSQL
38+
- Provision a database from docker *(this steps is optional and depends on your setup of databases, for example Delphix provisioning)*
39+
- Clone utPLSQL repository and install utPLSQL sources into database
3840
- Create test user and install test packages
39-
- Execute Liquibase update to deploy code
40-
- Execute tests
41-
- Publish test results
42-
- Execute sonar analysis
43-
- Copy source code and publish to artefact staging for publish
41+
- Execute Liquibase / Flyway commands to update database
42+
- Execute utPLSQL tests
43+
- Publish test results to pipeline
44+
- Execute SonarCloud analysis and publish results
45+
- Prepare artifact for publish to next stage
4446

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

46-
- Deploy Code to Database: During this stage we are using an artefact created in previous stage that was tested and deploying to the actual database ( DEV,PRD, UAT, NFT etc.), running tests is optional depends on project setup and the stage ( we will not be deploying tests to PRD but possible to DEV yes)
49+
- 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)
4750
- Deploy Stage consists of following steps:
4851
- Download binaries for utplsqlcli and sqlcl *(this step is optional, its possible that in self hosted agent this will be part of agent etc.)*
4952
- Provision a database from docker *( this step most likely you will not run as these databases will exists already)*
50-
- Create user to deploy code to *( this step most likely you will not run as the user will exists already)*
51-
- Execute Liquibase update to deploy code
52-
53-
54-
## Demo project using utPLSQL, Azure Devops and Flyway for continuous integration of PLSQL and SQL code.
53+
- 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)*
54+
- Execute Liquibase / Flyway commands to update database

0 commit comments

Comments
 (0)