add drone ci #1
|
@ -0,0 +1,71 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: deploy
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: submodules
|
||||||
|
image: archlinux
|
||||||
|
commands:
|
||||||
|
- pacman -Sy --noconfirm git >/dev/null
|
||||||
|
- git submodule update --init --recursive
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: archlinux
|
||||||
|
environment:
|
||||||
|
PYTHON_ENV: python python-pipenv python-setuptools
|
||||||
|
|
||||||
|
commands:
|
||||||
|
# set up python
|
||||||
|
- pacman -Sy --noconfirm make $PYTHON_ENV > /dev/null
|
||||||
|
- pipenv install
|
||||||
|
|
||||||
|
# build site
|
||||||
|
- make all
|
||||||
|
|
||||||
|
- name: deploy
|
||||||
|
image: ubuntu
|
||||||
|
environment:
|
||||||
|
HOST:
|
||||||
|
from_secret: host
|
||||||
|
USER:
|
||||||
|
from_secret: user
|
||||||
|
SSH_KEY:
|
||||||
|
from_secret: ssh_key
|
||||||
|
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
|
||||||
|
commands:
|
||||||
|
# install deps
|
||||||
|
- apt-get update -qq > /dev/null
|
||||||
|
- apt-get install ssh rsync -qq > /dev/null
|
||||||
|
|
||||||
|
# configure ssh
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
- mkdir -p ~/.ssh
|
||||||
|
- echo "$SSH_KEY" > ~/.ssh/id_rsa
|
||||||
|
- chmod 600 ~/.ssh/id_rsa
|
||||||
|
- ssh-add
|
||||||
|
- echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
||||||
|
|
||||||
|
# prepare vars for host operations
|
||||||
|
- host_dir="/var/www/$${HOST}"
|
||||||
|
- backup_dir="~/backups/$${HOST}/$${HOST}-$${DRONE_STAGE_STARTED}"
|
||||||
|
- host="$${USER}@$${HOST}"
|
||||||
|
|
||||||
|
# tasks
|
||||||
|
- make_backup_dir="mkdir -p $backup_dir"
|
||||||
|
- copy_backup_files="rsync -rP $host_dir $backup_dir"
|
||||||
|
- delete_current_files="sudo -n rm -r $host_dir"
|
||||||
|
- deploy_new_files="sudo -n mv $${HOST} $host_dir"
|
||||||
|
|
||||||
|
# archive old site
|
||||||
|
- ssh $host $make_backup_dir
|
||||||
|
- ssh $host $copy_backup_files
|
||||||
|
|
||||||
|
# deploy new site
|
||||||
|
- rsync -rP site/* "$host:$${HOST}"
|
||||||
|
- ssh $host $delete_current_files
|
||||||
|
- ssh $host $deploy_new_files
|
||||||
|
|
|
@ -3,4 +3,4 @@
|
||||||
url = https://github.com/ktyldev/ppp
|
url = https://github.com/ktyldev/ppp
|
||||||
[submodule "blog"]
|
[submodule "blog"]
|
||||||
path = blog
|
path = blog
|
||||||
url = https://github.com/ktyldev/blog.git
|
url = https://git.pizzawednesday.club/ktyl/blog.git
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
[[source]]
|
||||||
|
url = "https://pypi.org/simple"
|
||||||
|
verify_ssl = true
|
||||||
|
name = "pypi"
|
||||||
|
|
||||||
|
[packages]
|
||||||
|
markdown = "*"
|
||||||
|
|
||||||
|
[dev-packages]
|
||||||
|
|
||||||
|
[requires]
|
||||||
|
python_version = "3.10"
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"hash": {
|
||||||
|
"sha256": "4f4f4fc0dc77addc9a4bf6c737f31df9507ee22a83548fcff1891a4e7bc27bed"
|
||||||
|
},
|
||||||
|
"pipfile-spec": 6,
|
||||||
|
"requires": {
|
||||||
|
"python_version": "3.10"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"name": "pypi",
|
||||||
|
"url": "https://pypi.org/simple",
|
||||||
|
"verify_ssl": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"markdown": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186",
|
||||||
|
"sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==3.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"develop": {}
|
||||||
|
}
|
7
makefile
7
makefile
|
@ -32,6 +32,7 @@ HTML_TARGETS = $(PAGES:$(ROOT_DIR)/%.html=$(OUT_DIR)/%.html)
|
||||||
CSS_TARGETS = $(STYLES:$(ROOT_DIR)/%.css=$(OUT_DIR)/%.css)
|
CSS_TARGETS = $(STYLES:$(ROOT_DIR)/%.css=$(OUT_DIR)/%.css)
|
||||||
PNG_TARGETS = $(IMG_DIR)/%.png=$(OUT_DIR)/%.png
|
PNG_TARGETS = $(IMG_DIR)/%.png=$(OUT_DIR)/%.png
|
||||||
|
|
||||||
|
|
||||||
all: $(HTML_TARGETS) $(CSS_TARGETS) blog | $(OUT_DIR)
|
all: $(HTML_TARGETS) $(CSS_TARGETS) blog | $(OUT_DIR)
|
||||||
cp $(IMG_DIR)/*.png $(OUT_DIR)/
|
cp $(IMG_DIR)/*.png $(OUT_DIR)/
|
||||||
cp $(IMG_DIR)/*.jpg $(OUT_DIR)/
|
cp $(IMG_DIR)/*.jpg $(OUT_DIR)/
|
||||||
|
@ -54,10 +55,10 @@ $(OUT_DIR):
|
||||||
blog: $(BLOG_TARGETS) $(BLOG_RSS) | $(BLOG_TMP_DIR)
|
blog: $(BLOG_TARGETS) $(BLOG_RSS) | $(BLOG_TMP_DIR)
|
||||||
|
|
||||||
$(BLOG_RSS): $(BLOG_PAGES)
|
$(BLOG_RSS): $(BLOG_PAGES)
|
||||||
python scripts/mkblogrss.py $(BLOG_PAGES) > $@
|
pipenv run python scripts/mkblogrss.py $(BLOG_PAGES) > $@
|
||||||
|
|
||||||
$(BLOG_INDEX_LINKS): $(BLOG_TARGETS) | $(BLOG_TMP_DIR)
|
$(BLOG_INDEX_LINKS): $(BLOG_TARGETS) | $(BLOG_TMP_DIR)
|
||||||
python scripts/mkblogindex.py $(BLOG_TARGETS) > $@
|
pipenv run python scripts/mkblogindex.py $(BLOG_TARGETS) > $@
|
||||||
|
|
||||||
$(BLOG_OUT_DIR)/%.html: $(BLOG_OUT_DIR)/%.html.tmp $(HTML_INCLUDES) $(CSS_TARGETS)
|
$(BLOG_OUT_DIR)/%.html: $(BLOG_OUT_DIR)/%.html.tmp $(HTML_INCLUDES) $(CSS_TARGETS)
|
||||||
python ppp/ppp.py $< $(HTML_INCLUDES) > $@
|
python ppp/ppp.py $< $(HTML_INCLUDES) > $@
|
||||||
|
@ -65,7 +66,7 @@ $(BLOG_OUT_DIR)/%.html: $(BLOG_OUT_DIR)/%.html.tmp $(HTML_INCLUDES) $(CSS_TARGET
|
||||||
rm $<
|
rm $<
|
||||||
|
|
||||||
$(BLOG_OUT_DIR)/%.html.tmp: $(BLOG_SRC_DIR)/%.md | $(BLOG_TMP_DIR)
|
$(BLOG_OUT_DIR)/%.html.tmp: $(BLOG_SRC_DIR)/%.md | $(BLOG_TMP_DIR)
|
||||||
python scripts/mkblog.py $< $@
|
pipenv run python scripts/mkblog.py $< $@
|
||||||
|
|
||||||
$(BLOG_OUT_DIR): | $(OUT_DIR)
|
$(BLOG_OUT_DIR): | $(OUT_DIR)
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
site="ktyl.dev"
|
|
||||||
srcdir="./$site"
|
|
||||||
webroot="/var/www"
|
|
||||||
sitedir="$webroot/$site"
|
|
||||||
|
|
||||||
|
|
||||||
[ -d $sitedir ] && rm -r $sitedir
|
|
||||||
sudo -n mv $srcdir $webroot
|
|
|
@ -16,8 +16,6 @@
|
||||||
#include socials.html
|
#include socials.html
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#include planets.html
|
#include planets.html
|
||||||
|
|
Loading…
Reference in New Issue