PlatformIO is open source, written completely in Python, helps to complie a program for multiple embedded platforms like Arduino, ESP, Microchip, ARM mbed…
Github: https://github.com/platformio
Example continuous integration with Travis:
http://docs.platformio.org/en/latest/ci/travis.html#examples
https://travis-ci.org/felis/USB_Host_Shield_2.0/jobs/314287635

Embedded Development. Easier Than Ever.
PlatformIO is well suited for embedded development and has pre-configured settings for the most popular Embedded Boards.
Colourful command-line output
IDE Integration with Cloud9, Codeanywhere, Eclipse Che, Atom, CLion, CodeBlocks, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, Vim, Visual Studio
Cloud compiling and Continuous Integration with AppVeyor, Circle CI, Drone, Shippable, Travis CI
Built-in Serial Port Monitor and configurable build -flags/-options
Pre-built toolchains, frameworks for the popular development platforms
Single source code. Multiple platforms.
PlatformIO allows developer to compile the same code with different development platforms using the Only One Command platformio run. This happens due to Project Configuration File (platformio.ini) where you can setup different environments with specific options (platform type, firmware uploading settings, pre-built framework, build flags and many more).
Source: http://platformio.org/