Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
wejafoo committed Apr 7, 2021
1 parent e59455d commit 5fc2b74
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 2 deletions.
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@


# Go specific
pkg
vendor
.idea

.ARCHIVE
*.NEW
*.SAVE

.idea

env
**/secrets
**/.DS_Store
85 changes: 85 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,88 @@
# BinGo

**NOTE:** If go.mod has changed `go mod vendor` should be rerun.
# bin-zsh

A set of zsh scripts that standardize build and deployment across a growing list of application frameworks and languages.

----

## Currently Supported Environments

**Build targets:**
- Angular
- Docker
- Python
- Nodejs(Typescript)
- Go

**Deploy targets:**
- Local build target runner(in-memory w/ file watcher and hot reload)
- Docker(Local/Remote)
- GCP

----

## Developer Install

Clone the git repository and link project root to your path.

$ `git clone [email protected]:wejafoo/bin-zsh.git`

$ `cd bin-zsh && ln -s ~/bin .`

$ `echo 'export PATH=~/bin:${PATH}' >> ~/.zshrc`

----
## Description

This utility serves as a simplistic way to build/test/deploy any of the [Supported Environments]() with a single command that uses
quasi-intelligent defaults based on the following order of precedence:

1. manual re-deployment of environment variables ---- _( local IDE / remote GCP web UI / local gcloud )_
1. runtime environment deployment overrides ---- _( docker-compose.yml / GCP cloudbuild.json )_
1. command line argument overrides ---- (`--TARGET_ALIAS=prod`)
1. current environment variable overrides ---- (`. ~/.zshrc`/`export TARGET_ALIAS=prod`)
1. flex deployment runtime configuration file ---- (`<PROJECT ROOT>` / `.fd && <PROJECT ROOT>` / `.fd.<DEPLOYMENT DOMAIN>`)
1. intelligent defaults ---- _( global hard-coded rules based on language target / Docker image hard-coded defaults )_


----

## Local/Docker

From one of the aforementioned build targets project root, run the following(assumes Docker is installed locally and working):

$ `bingo --local`


----

## Remote/Cloud

From one of the aforementioned build targets project root, run the following(assumes 'gcloud' is installed locally and able to connect to the targeted cloud project):

$ `bingo -remote=stage`

----

## Housekeeping

Periodically, run this to ensure local Docker container/image residue is not accumulating. There are several circumstances that can be responsible for this that these scripts may
not otherwise be able to address.

$ `bingo -clean`

Running the above command with no arguments will prune the following local Docker artifacts:
- Stopped containers
- Unused images
- Unused networks
- Unused volumes

----

## Todos

1. **Todo**: Add documentation here that explains the default config file(s) and how they should be modified

1. **Todo**: Add automated test cases that build and deploy all project types following a commit to this repo

0 comments on commit 5fc2b74

Please sign in to comment.