`swh-docker-dev` and `swh-mirror/run-tests` both uses Docker containers
bound to port 5080. One to test if the generated images work fine, the
other as part of the mirror stack being tested. To prevent issues,
we explicitly use a volatile resource lock in their pipeline
definitions.
See: https://www.jenkins.io/doc/pipeline/steps/lockable-resources/
We first transform `swh-docker-dev` from a freestyle job to a Pipeline job in
order to implement fine-grained locked.
**/!\ This currently fails with to build with**:
```
INFO:jenkins_jobs.builder:Job name: swh-docker-dev
DEBUG:jenkins_jobs.builder:Writing XML to '<_io.BufferedWriter name='<stdout>'>'
Traceback (most recent call last):
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1039, in _escape_cdata
if "&" in text:
TypeError: argument of type 'Jinja2Loader' is not iterable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/bin/jenkins-jobs", line 8, in <module>
sys.exit(main())
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/lib/python3.9/site-packages/jenkins_jobs/cli/entry.py", line 173, in main
jjb.execute()
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/lib/python3.9/site-packages/jenkins_jobs/cli/entry.py", line 153, in execute
ext.obj.execute(self.options, self.jjb_config)
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/lib/python3.9/site-packages/jenkins_jobs/cli/subcommand/test.py", line 66, in execute
builder.update_jobs(
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/lib/python3.9/site-packages/jenkins_jobs/builder.py", line 294, in update_jobs
output.write(job.output())
File "/home/lunar/Documents/SWH/swh-jenkins-jobs/.tox/test/lib/python3.9/site-packages/jenkins_jobs/xml_config.py", line 59, in output
out = minidom.parseString(XML.tostring(self.xml, encoding="UTF-8"))
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1109, in tostring
ElementTree(element).write(stream, encoding,
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 748, in write
serialize(write, self._root, qnames, namespaces,
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 913, in _serialize_xml
_serialize_xml(write, e, qnames, None,
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 913, in _serialize_xml
_serialize_xml(write, e, qnames, None,
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 911, in _serialize_xml
write(_escape_cdata(text))
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1047, in _escape_cdata
_raise_serialization_error(text)
File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1029, in _raise_serialization_error
raise TypeError(
TypeError: cannot serialize <jenkins_jobs.local_yaml.Jinja2Loader object at 0x7f4104f71dc0> (type Jinja2Loader)
```