SoftwareProject
SoftwareProject
A softwareProject represents a code-base that can be built. Currently the supported software project types are:
- jee-applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.
- custom
For custom nothing is generated, it is a placeholder.
The artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. a softwareProject creates are linked to it in the model (artifacts). See Artifact.
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 artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. that can be used in services and co-exist with the services using artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. 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.
Options
SoftwareProjectReplace 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 Jenkinsfile.
Options
Stage
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 applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. and send this information to the prime radiant. |
| build | The build stage builds the artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. 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 artifactsArtifactA build or deployment result, such as a Docker container image or Java archive, produced by a software project. to a specified location depending on conditions. |
| expand | The expand stage expands your applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. and clean harvests to check if there are no rogue files. |
| ns-audit | The ns-audit stage will run the NS Assessment Tool on the applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.. |
| 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). |
Some stages are expected to run after other stages. There are model validations to indicate this.