From b34f651503796cc57e05139be2fce29b08a1a552 Mon Sep 17 00:00:00 2001 From: Captain Beyond Date: Sat, 16 Nov 2024 03:43:47 -0600 Subject: [PATCH] Rewrite deploy plugin in python to attempt to make it cross platform --- .drone.yml | 0 Dockerfile | 0 run | 28 ++++++++++++++++++++-------- 3 files changed, 20 insertions(+), 8 deletions(-) mode change 100644 => 100755 .drone.yml mode change 100644 => 100755 Dockerfile diff --git a/.drone.yml b/.drone.yml old mode 100644 new mode 100755 diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 diff --git a/run b/run index d414eca..74abf45 100755 --- a/run +++ b/run @@ -1,9 +1,21 @@ -#!/bin/sh -SOURCE=${PLUGIN_SOURCE:-.} -TARGET=$PLUGIN_TARGET +#!/usr/bin/env python3 +import os +import tempfile +import shutil +import glob +from subprocess import run -mkdir /tmp/deploy -cp -Rv $SOURCE /tmp/deploy -echo "$PLUGIN_KEY" > /tmp/deploy.rsa -chmod 0600 /tmp/deploy.rsa -scp -i /tmp/deploy.rsa -o StrictHostKeyChecking=no -r /tmp/deploy/* $TARGET +SOURCE = os.environ.get("PLUGIN_SOURCE", ".") +TARGET = os.environ['PLUGIN_TARGET'] + +def deploy(source, target, keyfile): + for source_file in glob.glob(source): + run(["scp", "-i", keyfile, "-o", "StrictHostKeyChecking=no", "-r", source_file, target]) + +with tempfile.NamedTemporaryFile() as deploy_key: + deploy_key.write(os.environ['PLUGIN_KEY'].encode()) + deploy_key.write(b"\n") + deploy_key.flush() + + os.chmod(deploy_key.name, 0o600) + deploy(SOURCE, TARGET, deploy_key.name)