8 yaml = ruamel.yaml.YAML()
12 envdict = {"env":kvlist}
15 if os.path.isdir(path):
18 raise argparse.ArgumentTypeError(f"readable_dir:{path} is not a valid path")
20 def parse_arguments():
21 casc_d_dir = "/var/lib/jenkins/casc.d/community.d"
22 parser = argparse.ArgumentParser(
23 description='Create jcasc yaml from path to jenkins config dir.')
24 parser.add_argument('--path', type=dir_path,
25 help="Path to jenkins-admin directory")
26 parser.add_argument('--sandbox', type=bool, default=False,
27 help="Set to True for sandbox yaml generation")
30 type=argparse.FileType("w"),
31 default="{}/jenkins_global_envvars.yaml".format(casc_d_dir),
32 help="Optional custom location for jenkins_global_envvars.yaml",
34 return parser.parse_args()
36 def global_vars(global_var_file):
37 with open(global_var_file) as myfile:
39 name, var = line.partition("=")[::2]
40 varstripped = var.strip()
41 kvlist.append({"key": name, "value": varstripped})
42 output.update({'jenkins':
43 {'globalNodeProperties':
47 yaml.dump(output, parsed_args.outputvars)
50 parsed_args = parse_arguments()
51 path = (parsed_args.path)
52 global_var_file = ("{}/global-vars-production.sh".format(parsed_args.path))
53 if parsed_args.sandbox:
54 global_var_file = ("{}/global-vars-sandbox.sh".format(parsed_args.path))
56 global_vars(global_var_file)