-
New Feature
-
Resolution: Duplicate
-
Minor
-
None
We have several builds that need a lot of data storage but little memory/cpu. The most cost effective means of doing this would be to add support for attaching a data disk to be used as the Jenkins workspace.
I don't want to create `withDataDisk` variants of all of the JSON files that are currently checked in to enable this. So my initial sketch of an implementation is as follows:
1) Use the Apache Velocity templating engine to collapse all of the options that are available today in to (ideally) a single template with conditional blocks.
2) Add a new Checkbox in the UI "Use data disk for Jenkins workspace" and a textbox for "Data Disk Size in GiB"
3) When that option is selected, add a data disk to the ARM template following the instructions here
4) Add a script that formats and mounts the disk like this
5) Create a hardlink from "C:\jenkins" to "J:\". This is so existing scripts that assume the workspace is "C:\jenkins" will continue to work as expected.
If this approach is okay, I'm happy to contribute this feature.
I think the use of a templating engine for the JSON file is the most risky part of this approach so I'd like to get some feedback from the maintainers before I get started!