jenkins/remoting-kafka-agent
Remoting Kafka Agent
10K+
This plugin can be found in Jenkins Plugin.
Slides for DevOps World | Jenkins World 2018 presentation available here.
Current versions of Jenkins Remoting are based on the TCP protocol. If it fails, the agent connection and the build fails as well. There are also issues with traffic prioritization and multi-agent communications, which impact Jenkins stability and scalability.
This project aims an update of Remoting and Jenkins in order to add support of a popular message queue/bus technology (Kafka) as a fault-tolerant communication layer in Jenkins.
More information about this project can be found at: https://jenkins.io/projects/gsoc/2018/remoting-over-message-bus/
See the CHANGELOG.
Requirements: docker, docker-compose installed.
Set environment variable DOCKERHOST
set DOCKERHOST=host.docker.internal
export DOCKERHOST=host.docker.internal
export DOCKERHOST=$(ifconfig docker0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
Build the demo: make all
.
Run the demo: make run
(without security feature make run-no-auth
).
Features in the demo:
make clean
.Requirements: A Kubernetes cluster (e.g. minikube), Helm
Run the demo:
helm dep build helm/jenkins-remoting-kafka && \
helm install helm/jenkins-remoting-kafka -n demo -f demo/helm/values-override.yaml
helm delete --purge demo
docker pull jenkins/remoting-kafka-agent