From b7db714a14536cec5b6f8617816421953ff628de Mon Sep 17 00:00:00 2001 From: Brandon McClure Date: Sun, 14 Aug 2022 15:00:37 -0600 Subject: [PATCH] add makefile for local docker build Update readme with info on using docker to build/run app --- Makefile | 36 ++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++++ 2 files changed, 44 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..0a3cad6d --- /dev/null +++ b/Makefile @@ -0,0 +1,36 @@ +ifeq ($(OS),Windows_NT) + SHELL := pwsh.exe +else + SHELL := pwsh +endif + +.SHELLFLAGS := -NoProfile -Command + +REGISTRY_NAME := ghcr.io/ +REPOSITORY_NAME := pcottle/ +IMAGE_NAME := learngitbranching +TAG := :latest + +.PHONY: all clean test +all: build + +getcommitid: + $(eval COMMITID = $(shell git log -1 --pretty=format:'%H')) + +getbranchname: + $(eval BRANCH_NAME = $(shell (git branch --show-current ) -replace '/','.')) + +build: + docker run --rm -v $${PWD}:/mnt --workdir /mnt node:14.20.0-alpine3.16 yarn install + docker run --rm -v $${PWD}:/mnt --workdir /mnt node:14.20.0-alpine3.16 yarn gulp fastBuild +build_docker: getcommitid getbranchname + docker build -t $(REGISTRY_NAME)$(REPOSITORY_NAME)$(IMAGE_NAME)$(TAG) -t $(REGISTRY_NAME)$(REPOSITORY_NAME)$(IMAGE_NAME):$(BRANCH_NAME) -t $(REGISTRY_NAME)$(REPOSITORY_NAME)$(IMAGE_NAME):$(BRANCH_NAME)_$(COMMITID) . + docker build --target export --output type=local,dest=learnGitBranching_$(BRANCH_NAME)_$(COMMITID) . + +run: + docker run -p 8080:80 $(REGISTRY_NAME)$(REPOSITORY_NAME)$(IMAGE_NAME)$(TAG) + +clean: + echo 'not implemented' +test: + echo 'not implemented' \ No newline at end of file diff --git a/README.md b/README.md index dd70ccd5..9b369809 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,14 @@ Alternatively, you can also build and run the app in a pre-configured online wor [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/pcottle/learnGitBranching/blob/main/src/js/git/index.js) +### Docker + +You can run the most recently built stable image with `docker run -p 8080:80 ghcr.io/pcottle/learngitbranching:main`. Access your environment with at [http://localhost:8080/]() + +You can build the app and image with the command: `docker build -t ghcr.io/pcottle/learngitbranching:latest`. See the [Makefile](Makefile) for information on how to build locally with docker. + + + [//]: contributor-faces