SoftwareProjects
SoftwareProject
A softwareProject represents a code-base that can be built. Currently the supported software project types are:
- jee-application
- custom
For custom
nothing is generated, it is a placeholder.
Make sure to link the artifacts the softwareProject creates in the model.
Adding a softwareProject to the model will create a new directory in which you can put the code-base for this new softwareProject. This softwareProject can also create artifacts that can be used in services and co-exist with the services using artifacts from other softwareProjects.
Using multiple softwareProjects should only be done when they are closely related. Standalone softwareProjects are better split up, each with their own repository.
SoftwareProject
Replace the current initial database scripts with the expanded database initialization scripts to initialize the database.
This option should not be used in production environments.
This option requires the SQL Migration setup to be used.
<options>
<project.softwareProject.replaceInitialDatabaseScriptsWithExpandedScripts/>
</options>
Pipeline
A pipeline represents the CI/CD pipeline. The only pipeline currently supported is the Jenkins pipeline. Adding a pipeline to your softwareProject will expand a Jenksinsfile.
Stages
Stages are the build steps in a CI/CD pipeline. When using the NS initializer or completing the migration guide, you will already have a pipeline with default stages present. Each stage is of a certain type, below is a table explaining what each type represents.
Type | Use case |
---|---|
Analyze | The analyze stage is for analyzing the model of your application and send this information to the prime radiant. |
Build | The build stage builds the artifacts of your software project. |
Custom | The custom stage allows you to have a completely custom implementation of a stage. |
Deploy | The deploy stage will push your artifacts to a specified location depending on conditions. |
Expand | The expand stage expands your application and clean harvests to check if there are no rogue files. |
Report | The report stage will run through the quality gates. |
Test | The test stage is currently empty, but is a placeholder for integration testing. |
Validate | The validate stage will do the model validation of the project setup and your software project(s). |