빠르게 고언어를 체험해볼 수 있는 깃허브 템플릿입니다. Make
와 Docker
가 미리 사전에 설치되어있어야합니다. 도커 다운로드 홈페이지 바로가기
git clone github.com/m0ai/simple-go-project-template.git
cd simple-go-project-template/
tree
> .
> ├── Dockerfile
> ├── LICENSE
> ├── MIT-LICENSE.txt
> ├── Makefile
> ├── README.md
> ├── docker-compose.yml
> └── main.go
저장소를 클론하여 다운로드된 파일을 확인해볼 수 있습니다.
아래의 명령어를 통해 현재 저장소에 go.mod
, go.sum
파일을 생성합니다. sample-app
을 원하는 이름으로 수정하세요.
touch go.sum
cat <<EOF > go.mod
module sample-app
go 1.15
EOF
makefile에 정의되어 있는 명령어를 실행하여 간편한게 앱을 실행할 수 있습니다.
make build up
make log
> Attaching to simple-go-project-template_app_1
> app_1 | Hello, Go
> simple-go-project-template_app_1 exited with code 0
아래의 명령어를 실행하면 실시간으로 코드에 변경사항이 적용되어 테스트 할 수 있는 (like a hotreload) 서비스인 reflex 으로 main.go
를 컨테이너 환경에서 실행할 수 있습니다.
make watch
> Creating simple-go-project-template_app_run ... done
> [00] Starting service
> [00] Hello, Go
make watch
으로 앱을 실행한 후 main.go
를 수정할 경우 실시간으로 결과가 업데이트 되는 모습을 확인할 수 있습니다.
// Terminal 1
import "fmt"
func main() {
fmt.Println("Hello, Go. so Easy") // Edited
}
# Terminal 2
make watch
> Creating simple-go-project-template_app_run ... done
> [00] Starting service
> [00] Hello, Go. # Before
> [00] Killing service
> [01] Starting service
> [01] Hello, Go. so Easy # After
아래의 명령어를 사용하여 프로젝트 구성 중 생성하였던 파일과 도커 불륨, 이미지, 컨테이너를 삭제할 수 있습니다.
make clean
> Going to remove simple-go-project-template_app_run_70fc30e963c7, simple-go-project-template_app_run_f78df5fd0e51, simple-go-project-template_app_run_23fb859dba87, simple-go-project-template_app_run_80252ad239d2, simple-go-project-template_app_1
> Are you sure? [yN] y
> Removing simple-go-project-template_app_run_70fc30e963c7 ... done
> Removing simple-go-project-template_app_run_f78df5fd0e51 ... done
> Removing simple-go-project-template_app_run_23fb859dba87 ... done
> Removing simple-go-project-template_app_run_80252ad239d2 ... done
> Removing simple-go-project-template_app_1 ... done
이제 main.go
를 수정하면서 바로바로 컴파일되어 실행되는 개발 환경을 즐길 수 있습니다.
🎉
누구나 해당 프로젝트에 기여할 수 있습니다. 좋은 아이디어가 있다면 언제든 PR 혹은 Issue를 생성해주세요 😄