diff --git a/README.md b/README.md new file mode 100644 index 0000000..332b09e --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +## Deploy + +Ой, это ебаный костыль :) + +```sh +deploy.py +``` + +Python скрипт, который запускает Hugo, создаёт архив, загружает его на сервер, +и дёргает на сервере PHP скрипт, который распаковывает `.zip` архив. + +**NOTE:** Потом нужно перенести все картинки в `/static/images/` и загружать их отдельно. diff --git a/deploy.py b/deploy.py new file mode 100755 index 0000000..2d5919b --- /dev/null +++ b/deploy.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 + +import os +import sys +import shutil +import uuid +import ftplib +import urllib.request + +HOST = 'blog.iiiypuk.me' +USER = 'alpopov94_blog-iiiypuk-me' +PASSWORD = sys.argv[1] + +def make_zip_www(): + archive_name = str(uuid.uuid4()).replace('-', '') + shutil.make_archive(archive_name, 'zip', './public') + + return '{0}.zip'.format(archive_name) + + +def upload_by_ftps(archive): + ftp = ftplib.FTP_TLS(host=HOST, user=USER, passwd=PASSWORD) + + # ftp.delete('posts') + + if ftp.pwd() == '/': + with open(archive, 'rb') as f: + ftp.storbinary('STOR {0}'.format(archive), f) + + os.remove(archive) + + +def get_unpack(archive): + f = urllib.request.urlopen('https://blog.iiiypuk.me/unpack.php?f={0}'.format(archive)) + f.read() + + +if __name__ == '__main__': + os.system('hugo &> /dev/null') + archive = make_zip_www() # .. + upload_by_ftps(archive) # .. + get_unpack(archive) # .. diff --git a/unpack.php b/unpack.php new file mode 100644 index 0000000..3df5c8e --- /dev/null +++ b/unpack.php @@ -0,0 +1,11 @@ +open($zipFile) === TRUE) { + $zip->extractTo('.'); + $zip->close(); + + unlink(zipFile); + } +?>