Add new deploy script
This commit is contained in:
parent
00005da741
commit
0e09cd96ed
3 changed files with 5 additions and 33 deletions
|
|
@ -3,6 +3,7 @@ languageCode = "en-us"
|
||||||
title = "Home"
|
title = "Home"
|
||||||
copyright = "Jan Sebastian Götte"
|
copyright = "Jan Sebastian Götte"
|
||||||
theme = "conspiracy"
|
theme = "conspiracy"
|
||||||
|
enableRobotsTXT = true
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
fediverse_account = "@jaseg@chaos.social"
|
fediverse_account = "@jaseg@chaos.social"
|
||||||
|
|
|
||||||
33
deploy.py
33
deploy.py
|
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import tempfile
|
|
||||||
import subprocess
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
with tempfile.TemporaryDirectory() as tmpdir:
|
|
||||||
pagefind = Path('~/.cargo/bin/pagefind').expanduser()
|
|
||||||
pagefind = str(pagefind) if pagefind.is_file() else 'pagefind'
|
|
||||||
|
|
||||||
current_branch = subprocess.run(['git', 'symbolic-ref', '-q', 'HEAD'], check=False, capture_output=True).stdout.strip()
|
|
||||||
if current_branch == 'refs/heads/deploy':
|
|
||||||
raise SystemError('This script cannot be run from the deploy branch (run from main instead)')
|
|
||||||
|
|
||||||
subprocess.run(['git', 'worktree', 'add', '--detach', tmpdir], check=True)
|
|
||||||
try:
|
|
||||||
env = dict(os.environ)
|
|
||||||
env['PATH'] = f'{Path("hack").absolute()}:{env["PATH"]}'
|
|
||||||
hugo = os.environ.get('HUGO', 'hugo')
|
|
||||||
subprocess.run([hugo], cwd=tmpdir, check=True, env=env)
|
|
||||||
subprocess.run([pagefind, '--site', 'public'], cwd=tmpdir, check=True, env=env)
|
|
||||||
subprocess.run(['git', 'add', '--force', 'public'], cwd=tmpdir, check=True)
|
|
||||||
write_tree = subprocess.run(['git', 'write-tree', '--prefix=public/'], cwd=tmpdir, check=True, capture_output=True)
|
|
||||||
tree = write_tree.stdout.strip()
|
|
||||||
|
|
||||||
commit = subprocess.run(['git', 'commit-tree', '-p', 'HEAD', '-p', 'refs/heads/deploy', '-m', 'deploy.py auto-commit', tree], cwd=tmpdir, check=True, capture_output=True).stdout.strip()
|
|
||||||
subprocess.run(['git', 'update-ref', '-m', f'deploy.sh update deploy branch to {commit}', 'refs/heads/deploy', commit], cwd=tmpdir, check=True)
|
|
||||||
|
|
||||||
subprocess.run(['git', 'push', 'git@git.jaseg.de:blog.git', 'deploy'], cwd=tmpdir, check=True)
|
|
||||||
finally:
|
|
||||||
subprocess.run(['git', 'worktree', 'remove', '-f', tmpdir], check=True)
|
|
||||||
4
deploy.sh
Executable file
4
deploy.sh
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
set -e
|
||||||
|
hugo
|
||||||
|
~/.cargo/bin/pagefind --site public
|
||||||
|
rsync -avP public/ wendelstein:/var/www/jaseg.de/
|
||||||
Loading…
Add table
Add a link
Reference in a new issue