ReqKick - Shippable build orchestrator

Run Status

reqKick is the Shippable agent that needs to run on the build node to orchestrate the build. Once the build steps are generated by reqProc, reqKick takes over the build execution to do the following:

  • execute the build step(s) in the specified order
  • execute the build step(s) on either the host or inside a Docker container
  • publish build logs at each stage
  • cancel the build if the user has done so
  • timeout the build if it has reached max allowed time
  • aggregate the status across all build steps and pass it back to reqProc.

It is one of the three components that are installed on the host when users initialize the host to act as a build node on Shippable. The other two components that are installed upon node initialization are reqProc and reqExec.

Development

Unlike reqProc or reqExec, that run as Docker containers on the node, reqKick runs as a nodejs application on the build node.

This enables reqKick to run build steps both on the build node as well as in a container. Because of this, Shippable supports running jobs directly on the nodes which is really helpful for running native macOS and WindowsServer workloads.

Any merged change in the project triggers Shippable assembly lines to run tests on this project and update the status. All downstream dependencies are also built and pushed once this is complete.

Supported platforms:

ARCHITECTURE OS
x86_64 Ubuntu_16.04
x86_64 macOS_10.12
aarch64 Ubuntu_16.04
x86_64 WindowsServer_2016

Releases

reqKick is updated with every Shippable release. The list of all Shippable releases can be found here.