Skip to content

cploujoux/alpine-golang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Build Docker image

make

Or:

docker build --pull=true --no-cache -t alpine-golang:latest .

Build using Docker container

docker run --rm -it -v "$PWD":/go -w /go alpine-golang:latest

This expects a Makefile in the current directory.

Or if you don't have a Makefile just add a command:

docker run --rm -it -v "$PWD":/go -w /go alpine-golang:latest gb build all

Example Makefile

NAME:=$(shell basename `git rev-parse --show-toplevel`)
RELEASE:=$(shell git rev-parse --verify --short HEAD)

# Using internal registry
#USER=myuser
#PASS=mypass
#[email protected]
#REGISTRY=docker-registry.example.com:8080

all: build

clean:
	rm -rf pkg bin

test: clean
	gb test

build: test
	gb build all

update:
	gb vendor update --all

docker-clean:
	docker rmi ${NAME} &>/dev/null || true

docker-build: docker-clean
       docker run --rm -it -v "$$PWD":/go -w /go alpine-golang:latest
       docker build --pull=true --no-cache -t ${NAME}:${RELEASE} .
       docker tag -f ${REGISTRY}/${NAME}:${RELEASE} ${NAME}:latest

# Using internal registry
#	docker run --rm -it -v "$$PWD":/go -w /go ${REGISTRY}/alpine-golang:latest
#	docker build --pull=true --no-cache -t ${REGISTRY}/${NAME}:${RELEASE} .
#	docker tag -f ${REGISTRY}/${NAME}:${RELEASE} ${REGISTRY}/${NAME}:latest

docker-push: docker-build

# Using internal registry
#	docker login -u ${USER} -p '${PASS}' -e ${MAIL} ${REGISTRY}
#	docker push ${REGISTRY}/${NAME}:${RELEASE}
#	docker push ${REGISTRY}/${NAME}:latest

About

Build Go project inside Alpine Docker container using Go 1.5 and vendoring

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published