Skip to content

networkupstools/jenkins-swarm-nutci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jenkins-Swarm (NUT CI)

This is a wrapper project for Jenkins Swarm build agents that can dial in to a Jenkins controller and proclaim their abilities via labels.

Primary use-case is along with the jenkins-dynamatrix JSL, for such agents to be included in the dynamically generated matrix for the benefit of next upcoming builds of a project the agent owner wishes to participate in, such as the NUT CI farm.

While this particular repository is maintained with the NUT CI farm in mind, no specific configuration is stored here. Direct use or forks are welcome with other FOSS projects (you might want to customize file names, especially if different default user accounts are used, or let them be).

While this project is provided under the terms of MIT license (same as Jenkins itself) and can be re-used in other efforts without practical restrictions, any feedback and upstreaming of interesting hacks are welcome.

For more practical details about the typical agent configuration see:

TODO: Currently the best source of information are the scripts (comments and/or code). Some of that belongs in this README, PRs are welcome.

Numerous integration files (init scripts, systemd units, etc.) for different platforms are provided. See comments in them about installation into the system to start the Jenkins Swarm agent as a service (with automatic update of the JAR before each start-up).

Note
JAVA_OPTS set in $AGENT_DIR/jenkins-swarm-prestart.include-early can be used to convey system-specific options like memory limits or agent logging bump. A trusted cacerts file can be picked up by merely existing with an expected file name.

The jenkins-agent-toggle.sh (with its own configuration to access the Jenkins controller) can be used to automate processes around agent life cycle (e.g. to offline the agent logically and wait for actual builds to complete before disconnecting it, when we want to shut down gracefully).

This is further wrapped by swarm-client-nutci-stop.sh to coordinate finishing the jobs and killing the agent process gracefully.

About

Relatively generic scripts to maintain Jenkins Swarm agents, tailored for NUT CI

Resources

License

Stars

0 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages