Go to file
Aravinth Manivannan 325d110e9a
feat: switch to user configured branch even when configuration is changed
DESCRIPTION

Branch switching wasn't possible in earlier versions. If user deploys
"master" branch first and then wants to switch to "pages" branch, they
would have to delete the Pages-managed copy of the repository to
re-initialize the repository.

This patch introduces changes to switch to user configured branch on
startup and at each repository update.
2022-04-09 11:04:44 +05:30
.github CI: cache docker builds 2021-10-29 20:52:01 +05:30
config feat: add nginx sample configuration to deploy Pages 2022-03-31 16:40:35 +05:30
docs feat: add bare metal deployment instructions 2022-03-31 16:40:54 +05:30
scripts package docker container 2021-10-29 20:38:56 +05:30
src feat: switch to user configured branch even when configuration is changed 2022-04-09 11:04:44 +05:30
.dockerignore package docker container 2021-10-29 20:38:56 +05:30
.gitignore init 2021-10-29 20:21:46 +05:30
Cargo.lock chore: update dep: config 2022-03-29 18:13:26 +05:30
Cargo.toml chore: update dep: config 2022-03-29 18:13:26 +05:30
Dockerfile chore: update docker rust base img 2022-03-16 00:10:36 +05:30
LICENSE.md init 2021-10-29 20:21:46 +05:30
Makefile feat: tag docker img with version 0.1.0 2022-04-09 11:03:28 +05:30
README.md package docker container 2021-10-29 20:38:56 +05:30
build.rs generate build metadata 2021-10-29 20:22:44 +05:30

README.md

Pages

Auto-deploy static websites from git repositories

Build dependency status codecov

Why?

SSHing into a server and performing a git pull is boring. I couldn't find any free(as in freedom) software for automating static website deploys like GitHub Pages or Netlify.

This is very minimal, all it does is a git fetch $branch but it works for me :)

Usage

  1. All configuration is done through ./config/default.toml(can be moved to /etc/static-pages/config.toml). Too add a website, make a similar entry:

    pages = [
    	{ branch = "gh-pages", repo = "https://github.com/realaravinth/realaravinth/", path ="/var/www/pages/realaravinth", secret = "mytopsecretsuperlongpassword123" },
    ]
    
  2. If pages is deployed at pages.example.com and you wish to deploy changes from gh-pages branch, you can do so with the following command:

     curl -v --location --request POST 'https://pages.example.com/api/v1/update' \
    --header 'Content-Type: application/json' \
    --data-raw "{
    	\"secret\": \"$token\",
    	\"branch\": \"gh-pages\"
    }"