RunDeck and Jenkins can be used together to provide a deployment pipeline.
How is RunDeck different from Jenkins?
- Rundeck not a CI server
- Both are able to:
- provide a self serve job interface to automate routine procedures.
- execute shell scripts on remote nodes to facilitate deployment tasks.
- Differentiator: Rundeck's built-in support for pluggable remote command execution
- Comes down to use case.
- Rundeck == job console for Ops and geared to work with that ecosystem of tools.
- jenkins-rundeck plugin demonstrates how complimentary they are in continuous deployment tool chain.
- Jenkins handling build end of CI loop and triggering Rundeck to provide distributed orchestration across deployment management tool chain.
How is RunDeck different than Puppet mcollective or Chef knife?
- Some overlap between rundeck and mcollective and knife
- Allow administrators to execute commands in distributed environment, offering a form of real time control
- Use metadata-level searches for targeting remote nodes.
- Levels of authorization, authentication and auditing
- Rundeck has a few goals of its own though:
- Easy way to define routine sequences as "Job workflows" as a basis for runbook automation solutions.
- Integration of node and environment metadata sources as RunDeck "resource model providers". In this way, Rundeck can use Puppet or Chef node data to drive remote execution.
- Evolve role-based access control definitions into a high level DSL that ties privilege level to resource model and workflow actions
- Plugin system supporting concept of "dispatch providers" to delegate to tools like mcollective, knife, func, fabric, PsExec and others for cross tool execution.
- Ultimate Goal: Simple to use yet flexible enough to complement existing tool chains
Example/Musings on using Rundeck, Puppet, Jenkins, Fabric together