Hopic¶
In order to simplify the CI configuration we are switching away from the generic jenkins shared pipeline which is completely written in Groovy. Instead we are switching to the Hopic project which only has a minimal CI driver component written in Groovy with the rest written in Python. With Hopic local debugging is made significantly easier.
As of now the commit stage can be adapted to use Hopic’s functionality. With this most of the required configuration will live in the hopic-ci-config.yaml file replacing the groovy snippets from the commit stage in jenkins file. This can be locally tested with the command - “hopic”
Using Hopic locally¶
Install the hopic command with below package
pip3 install --user 'git+https://github.com/tomtom-international/hopic.git@release/1#egg=hopic[interactive]'
Enable TAB completion - include the below line in your .bashrc ( BashComplete )
eval "$(_HOPIC_COMPLETE=source hopic)"
For the command line help on hopic usage
hopic --help
Contents¶
- Usage
- Introduction
- Configuration
- Pre-defined Hopic variables
- Pre-defined environment variables
- Build Phases
- Post Submission Phases
- Environment
- CI-locks
- Clean
- Config
- Credentials
- Container Image
- Extra Docker arguments
- Docker in Docker
- Volumes
- Environment Variables
- Mounting Volumes From Other Containers
- Publish From Branch
- Versioning
- Modality Changes
- Extension Installation
- Restricting Variants to Specific Build Nodes
- Restricting Steps to Changes or Not
- Limiting Execution Time for Steps
- Sharing Output Data Between Variants
- Customizing Step Description
- Branches in Subdirectory Worktrees
- Repeating Steps for Commits
- Sub SCM
- JUnit Test Results
- JUnit allow-missing
- JUnit allow-failures
- Artifact Archiving
- Artifact Fingerprint
- Artifact upload-on-fail
- Artifact allow-empty-archive
- Artifact allow-missing
- Embed scripts
- Finally
- Hotfix Version Requirements
- Contributing
- Changelog
- 1.59.1
- 1.59.0
- 1.58.0
- 1.57.2
- 1.57.1
- 1.57.0
- 1.56.2
- 1.56.1
- 1.56.0
- 1.55.0
- 1.54.0
- 1.53.0
- 1.52.0
- 1.51.0
- 1.50.0
- 1.49.2
- 1.49.1
- 1.49.0
- 1.48.1
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.1
- 1.45.0
- 1.44.0
- 1.43.1
- 1.43.0
- 1.42.1
- 1.42.0
- 1.41.3
- 1.41.2
- 1.41.1
- 1.41.0
- 1.40.2
- 1.40.1
- 1.40.0
- 1.39.2
- 1.39.1
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.0
- 1.35.0
- 1.34.1
- 1.34.0
- 1.33.2
- 1.33.1
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.0
- 1.29.2
- 1.29.1
- 1.29.0
- 1.28.1
- 1.28.0
- 1.27.1
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.2
- 1.21.1
- 1.21.0
- 1.20.1
- 1.20.0
- 1.19.2
- 1.19.1
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.3
- 1.16.2
- 1.16.1
- 1.16.0
- 1.15.0
- 1.14.3
- 1.14.2
- 1.14.1
- 1.14.0
- 1.13.4
- 1.13.3
- 1.13.2
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.3
- 1.11.2
- 1.11.1
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- 0.15.2
- 0.15.1
- 0.15.0
- 0.14.1
- 0.14.0
- 0.13.1
- 0.13.0
- 0.12.1
- 0.12.0
- 0.11.0
- 0.10.2
- 0.10.1
- 0.10.0
- 0.9.0
- 0.8.1
- 0.8.0
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0