Jenkins CI

官网英文原文地址:http://dev.px4.io/advanced-jenkins-ci.html

Jenkins continuous integration server on SITL01 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:

  1. cd <directory_where_firmware_is_cloned>
  2. 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