mirror of
https://github.com/waku-org/nwaku.git
synced 2025-01-09 06:22:41 +00:00
Jakub Sokołowski
086cb81a81
Adjustments to Jenkinsfile to allow building of different targets and pushing images with different tags depending on job parameters. If we specify a `string` parameter in `parameters` they will be overwritten in job definition after very job build. I created four jobs at: https://ci.status.im/job/nim-waku/ * [manual](https://ci.status.im/job/nim-waku/job/manual/) - For building by hand * [deploy-v1-test](https://ci.status.im/job/nim-waku/job/deploy-v1-test/) - Auto build from `master` * [deploy-v2-test](https://ci.status.im/job/nim-waku/job/deploy-v2-test/) - Auto build from `master` * [deploy-v2-prod](https://ci.status.im/job/nim-waku/job/deploy-v2-prod/) - Triggered manually Signed-off-by: Jakub Sokołowski <jakub@status.im>
1.4 KiB
1.4 KiB
Description
This document describes the continuous integration setup for nim-waku
.
Details
The CI setup exists on the Status.im Jenkins instance:
https://ci.status.im/job/nim-waku/
It currently consists four jobs:
- manual - For manually executing builds using parameters.
- deploy-v1-test - Builds every new commit in
master
and deploys towakuv1.test
fleet. - deploy-v2-test - Builds every new commit in
master
and deploys towakuv2.test
fleet. - deploy-v2-prod - Currently has no automatic trigger, and deploys to
wakuv2.prod
fleet.
Configuration
The main configuration file is Jenkinsfile
at the root of this repo.
Key part is the definition of four parameters
:
MAKE_TARGET
- WhichMakefile
target is built.IMAGE_TAG
- Tag of the Docker image to push.IMAGE_NAME
- Name of the Docker image to push.NIM_PARAMS
- Nim compilation parameters.
The use of ?:
Elvis operator plays a key role in allowing parameters to be changed for each defined job in Jenkins without it being overridden by the Jenkinsfile
defaults after every job run.
defaultValue: params.IMAGE_TAG ?: 'deploy-v2-test',