In this section we will go through the assumptions we’ve made in the project structure and project properties.
We’ve taken the following opinionated decisions for a Cloud Foundry based project:
manifest.yml
Cloud Foundry descriptorFor Maven (example project):
settings.xml
is parametrized to pass the credentials to push code to Artifactory
M2_SETTINGS_REPO_ID
- server id for Artifactory / Nexus deploymentM2_SETTINGS_REPO_USERNAME
- username for Artifactory / Nexus deploymentM2_SETTINGS_REPO_PASSWORD
- password for Artifactory / Nexus deployment./mvnw clean deploy
stubrunner.ids
property to retrieve list of collaborators for which stubs should be downloadedrepo.with.binaries
property - (Injected by the pipeline) will contain the URL to the repo containing binaries (e.g. Artifactory)distribution.management.release.id
property - (Injected by the pipeline) ID of the distribution management. Corresponds to server id in settings.xml
distribution.management.release.url
property - (Injected by the pipeline) Will contain the URL to the repo containing binaries (e.g. Artifactory)apicompatibility
Maven profilelatest.production.version
property - (Injected by the pipeline) will contain the latest production version for the repo (retrieved from Git tags)smoke
Maven profilee2e
Maven profileFor Gradle (example project check the gradle/pipeline.gradle
file):
deploy
task for artifacts deploymentREPO_WITH_BINARIES_FOR_UPLOAD
env var - (Injected by the pipeline) will contain the URL to the repo containing binaries (e.g. Artifactory)M2_SETTINGS_REPO_USERNAME
env var - Username used to send the binary to the repo containing binaries (e.g. Artifactory)M2_SETTINGS_REPO_PASSWORD
env var - Password used to send the binary to the repo containing binaries (e.g. Artifactory)apiCompatibility
tasklatestProductionVersion
property - (Injected by the pipeline) will contain the latest production version for the repo (retrieved from Git tags)smoke
taske2e
taskgroupId
task to retrieve group idartifactId
task to retrieve artifact idcurrentVersion
task to retrieve the current versionstubIds
task to retrieve list of collaborators for which stubs should be downloadedWe’ve taken the following opinionated decisions for a Cloud Foundry based project:
SYSTEM_PROPS
env variableFor Maven (example project):
settings.xml
is parametrized to pass the credentials to push code to Artifactory and Docker repository
M2_SETTINGS_REPO_ID
- server id for Artifactory / Nexus deploymentM2_SETTINGS_REPO_USERNAME
- username for Artifactory / Nexus deploymentM2_SETTINGS_REPO_PASSWORD
- password for Artifactory / Nexus deploymentDOCKER_SERVER_ID
- server id for Docker image pushingDOCKER_USERNAME
- username for Docker image pushingDOCKER_PASSWORD
- password for Docker image pushingDOCKER_EMAIL
- email for Artifactory / Nexus deploymentDOCKER_REGISTRY_URL
env var - (Overridable - defaults to DockerHub) URL of the Docker registryDOCKER_REGISTRY_ORGANIZATION
- env var containing the organization where your Docker repo lays./mvnw clean deploy
stubrunner.ids
property to retrieve list of collaborators for which stubs should be downloadedrepo.with.binaries
property - (Injected by the pipeline) will contain the URL to the repo containing binaries (e.g. Artifactory)distribution.management.release.id
property - (Injected by the pipeline) ID of the distribution management. Corresponds to server id in settings.xml
distribution.management.release.url
property - (Injected by the pipeline) Will contain the URL to the repo containing binaries (e.g. Artifactory)deployment.yml
contains the Kubernetes deployment descriptorservice.yml
contains the Kubernetes service descriptorapicompatibility
Maven profilelatest.production.version
property - (Injected by the pipeline) will contain the latest production version for the repo (retrieved from Git tags)smoke
Maven profilee2e
Maven profileFor Gradle (example project check the gradle/pipeline.gradle
file):
deploy
task for artifacts deploymentREPO_WITH_BINARIES_FOR_UPLOAD
env var - (Injected by the pipeline) will contain the URL to the repo containing binaries (e.g. Artifactory)M2_SETTINGS_REPO_USERNAME
env var - Username used to send the binary to the repo containing binaries (e.g. Artifactory)M2_SETTINGS_REPO_PASSWORD
env var - Password used to send the binary to the repo containing binaries (e.g. Artifactory)DOCKER_REGISTRY_URL
env var - (Overridable - defaults to DockerHub) URL of the Docker registryDOCKER_USERNAME
env var - Username used to send the the Docker imageDOCKER_PASSWORD
env var - Password used to send the the Docker imageDOCKER_EMAIL
env var - Email used to send the the Docker imageDOCKER_REGISTRY_ORGANIZATION
- env var containing the organization where your Docker repo laysdeployment.yml
contains the Kubernetes deployment descriptorservice.yml
contains the Kubernetes service descriptorapiCompatibility
tasklatestProductionVersion
property - (Injected by the pipeline) will contain the latest production version for the repo (retrieved from Git tags)smoke
taske2e
taskgroupId
task to retrieve group idartifactId
task to retrieve artifact idcurrentVersion
task to retrieve the current versionstubIds
task to retrieve list of collaborators for which stubs should be downloaded