Jenkins CI
Jenkins continuous integration server on ci.px4.io is used to automatically run integration tests against PX4 SITL.
Overview
- Involved components: Jenkins, Docker, PX4 POSIX SITL
- Tests run inside Docker Containers
- Jenkins executes 2 jobs: one to check each PR against master, and the other to check every push on master
Test Execution
Jenkins uses run_container.bash to start the container which in turn executes run_tests.bash to compile and run the tests.
If Docker is installed the same method can be used locally:
cd <directory_where_firmware_is_cloned>
sudo WORKSPACE=$(pwd) ./Firmware/integrationtests/run_container.bash
Server Setup
Installation
See setup script/log for details on how Jenkins got installed and maintained.
Configuration
- Jenkins security enabled
- Installed plugins
- github
- github pull request builder
- embeddable build status plugin
- s3 plugin
- notification plugin
- collapsing console sections
- postbuildscript