diff --git a/tools/deploy b/tools/deploy new file mode 100755 index 0000000..9ccae6c --- /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/zbwf", + metavar = "", + help = "directory on the target system, where the files shall be put; default: /opt/zbwf", + ) + argument_parser.add_argument( + "-b", + "--build-directory", + type = str, + dest = "build_directory", + default = "build", + 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()