Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ecomclub/simple-ci

Go HTTP service to deploy Node.js apps from GitHub
https://github.com/ecomclub/simple-ci

continuous-deployment nodejs-applications

Last synced: about 1 month ago
JSON representation

Go HTTP service to deploy Node.js apps from GitHub

Awesome Lists containing this project

README

        

# simple-ci
Go HTTP service to deploy Node.js apps (Systemd services) from GitHub

## Environment variables

Configure the service with following env variables:

Variable | Sample
--- | ---
`LOG_FILE` | `/var/log/app.out`
`APPS_ROOT` | `/var/apps/`
`SERVICES_PREFIX` | `node-`
`TCP_PORT` | `:30000`

## Endpoint

```http
http://localhost:3000/?AppName=myapp&GitBranch=master&Secret=SuperSecretPassword
```

### Proxy

You should use a proxy server (_Nginx_) and handle this request
from a simpler URL, eg.:

```http
https://myserver.com/myapp/deploy
```

```conf
# nginx.conf
location ~ ^\/(?[a-z0-9-]+)\/deploy$ {
proxy_pass http://[::1]:3000/?Secret=SuperSecretPassword&AppName=$app&GitBranch=master;
}
```

## GitHub setup

The simplest way to get it running is creating a **webhook** on GitHub
repository after releases (recommended) or pushes, using the same _Secret_ passed by proxy: