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: 512mbframework: 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://github@someurl.gitOptions 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://github@someurl.git
codecetp:
- repo: ssh://github@someurl.git
options:
time: 3m
priority: time_consuming
processor: 30