goweb-scaffold
A template golang web project built with love 💘
Local Dev
- Assume your environment with golang installed (For Mac:
brew install go
)
- Cloen this repository to your
$GOPATH/src
- Install depedencies
make deps
- Run http server
go run main.go
- Run test
make test
Use Docker to run it
- Assume your environment equipped with Docker (ie.
docker ps
works)
- Run below shell script, you will find 2 containers running for you (
nginx
is proxy, goweb-xxx
is the scaffold app)
sh scripts/docker-run.sh
// If above succeeds, you will get below
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49d938a04188 nginx-proxy "/app/docker-entrypoi" 38 minutes ago Up 38 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx
5745797c3caa goweb-scaffold "/go/bin/goweb-scaffo" 38 minutes ago Up 38 minutes 0.0.0.0:28983->28983/tcp goweb-0310-1457577308
Docker Dev
-
Make sure your system with Docker installed (check how)
-
Pull docker images (this takes seconds)
docker pull browny/go-docker-dev
- Clone the source code
git clone git@github.com:browny/goweb-scaffold.git
- Run the container under the source root
docker run --rm -it -v `pwd`:/go/src/goweb-scaffold -p 8000:8000 browny/go-docker-dev
- Inside the container, cd into
/go/src/goweb-scaffold
, then install dependencies (few minutes)
cd /go/src/goweb-scaffold;
make deps
- Here your go
// test inside container
make test
// run app inside container
go run main.go
Start project from this scaffold
- Change the package name
-
Reset the git upstream url
git remote set-url origin <your project git repository url>