Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hainenber/jenkins-multipass-cloud-plugin
Jenkins cloud plugin dynamically provisions Multipass VMs as Jenkins agent
https://github.com/hainenber/jenkins-multipass-cloud-plugin
Last synced: 16 days ago
JSON representation
Jenkins cloud plugin dynamically provisions Multipass VMs as Jenkins agent
- Host: GitHub
- URL: https://github.com/hainenber/jenkins-multipass-cloud-plugin
- Owner: hainenber
- License: mit
- Created: 2024-11-19T16:15:30.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-01T09:58:11.000Z (about 1 month ago)
- Last Synced: 2025-01-01T10:41:14.520Z (about 1 month ago)
- Language: Java
- Size: 798 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# multipass-cloud
## Introduction
A Jenkins cloud plugin dynamically provisions Multipass VMs as Jenkins agent.
## Getting started
### Screenshots
Figure 1. A Multipass cloud instance
![](docs/images/cloud.png)
Figure 1.1. Configuration screen for said Multipass cloud instance
![](docs/images/cloud_config.png)
Figure 2. Log output from a provisioned node
![](docs/images/node_log.png)
### Installation
For now, interested folks can utilize
[Plugin ManagerCLI tools for Jenkins](https://github.com/jenkinsci/plugin-installation-manager-tool)
for installation. I'll publish the plugin to Jenkins plugin registry in the
foreseeable future.```
plugins:
- artifactId: multipass-cloud
source:
url: https://github.com/hainenber/jenkins-multipass-cloud-plugin/releases/download/0.2.0/multipass-cloud.hpi
```### Configuration-as-Code setup
You can provision the cloud at startup with Jenkins's
[Configuration as Code plugin](https://github.com/jenkinsci/configuration-as-code-plugin)
. Here's a sample configuration```
jenkins:
clouds:
- multipass:
name: "multipass"
templates:
- name: java-app-builder
label: "java"
cpu: 1
memory: 1G
disk: 10G
sshCredentialsId: test-ssh
cloudInitConfig: |
#cloud-config
users:
- default
- name: jenkins
package_update: true
package_upgrade: true
packages:
- git
- openjdk-21-jre-headless
- openjdk-21-jdk-headless
```## Contributing
This project is open for contributions! Right now I don't have a proper
guideline so it's the Wild West here :D## LICENSE
Licensed under MIT, see [LICENSE](LICENSE.md)