The purpose of this repository is to define a base cartridge with empty job definitions and pipelines to allow developers to rapidly develop their cartridges.
A cartridge is broken down into the following sections:
- infra
- For infrastructure-related items
- jenkins
- For Jenkins-related items
- src
- For source control-related items
Each cartridge should contain a "metadata.cartridge" file that specifies the following metadata:
CARTRIDGE_SDK_VERSION
- This defines the version of the Cartridge SDK that the cartridge conforms to
When developing a cartridge it is advisable to make a copy of this repository and remove all of the README.md files so that it serves as a basis for the new cartridge.
limit
: maximum number of containers that can be deployedmemory
: how much memory the containers can take
Example:
containers:
limit: 10
memory: 512mb
framework
: the framework used to run the tests, example JUnit, Codepcetp, etc.repo
: the repo where the tests are storedargs
: some extra arguments needed to run the tests
Example:
junit:
- repo: ssh://[email protected]
Options related to how the framework will behave and execute different tasks
time
: maximum time the framework should wait before starting new containerspriority
: which tests the framework should prioritizeprocessor
: the percentage the process should wait before splitting testsmemory
: how much memory the tests should consume before deploying new containers
Example:
time: 3m
priority: time_consuming
---
configuration:
containers:
limit: 10
memory: 512mb
tests:
junit:
- repo: ssh://[email protected]
codecetp:
- repo: ssh://[email protected]
options:
time: 3m
priority: time_consuming
processor: 30