From 7e26a4298f55f0e7be4434fe197c366d6068b24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Thu, 22 Aug 2024 07:41:30 +0200 Subject: [PATCH] [add] tools:deploy --- tools/deploy | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 tools/deploy diff --git a/tools/deploy b/tools/deploy new file mode 100644 index 0000000..0475866 --- /dev/null +++ b/tools/deploy @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 + +import sys as _sys +import os as _os +import argparse as _argparse + + +def main(): + ## args + argument_parser = _argparse.ArgumentParser() + argument_parser.add_argument( + type = str, + dest = "target_system", + metavar = "", + help = "either 'localhost' or SSH handle of the target system", + ) + argument_parser.add_argument( + "-t", + "--target-directory", + type = str, + dest = "target_directory", + default = "/opt/arc", + metavar = "", + help = "directory on the target system, where the files shall be put; default: /opt/arc", + ) + argument_parser.add_argument( + "-b", + "--build-directory", + type = str, + dest = "build_directory", + default = "/tmp/arc", + metavar = "", + help = "directory to where the build was put", + ) + args = argument_parser.parse_args() + + ## exec + if (not _os.path.exists(args.build_directory)): + _sys.stderr.write("-- build directory not found; probably you need to run /tools/build\n") + _sys.exit(1) + else: + _os.system( + " ".join([ + "rsync", + "--recursive", + "--update", + "--verbose", + "--exclude='conf.json'", + ("%s/" % args.build_directory), + ( + ("%s" % args.target_directory) + if (args.target_system == "localhost") else + ("%s:%s" % (args.target_system, args.target_directory, )) + ), + ]) + ) + + +main()