-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move Docker rules to separate
makefile
By splitting these rules off from the main makefile, it makes it possible to watch for changes in to either the Dockerfiles or to the build rules in the `makefile` that generate Docker images from the Dockerfiles. This can be accomplished by watching for changes in the folder `docker/` to trigger builds of Docker images. Having Docker images built using CI can potentially speed up the uplaod of large Docker images. Docker images can be quite large, particularly for the Mingw builds, which are close to 4GB. Having to upload them after a local build can take quite a bit of time. It might make sense to use the GitHub Docker Registry rather than DockerHub, as that could allow for building and uploading all using GitHub infrastructure.
- Loading branch information
1 parent
fd0e0bf
commit 4c19604
Showing
2 changed files
with
41 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Build rules relating to Docker images | ||
|
||
DockerFolder := ${TopLevelFolder}/docker | ||
DockerRunFlags := --volume ${TopLevelFolder}:/code --workdir=/code --rm --tty | ||
DockerUserFlags = --user="$(shell id --user):$(shell id --group)" | ||
DockerRepository := outpostuniverse | ||
|
||
ImageVersion_gcc := 1.5 | ||
ImageVersion_clang := 1.4 | ||
ImageVersion_mingw := 1.10 | ||
ImageVersion_arch := 1.4 | ||
|
||
DockerFileName = ${DockerFolder}/nas2d-$*.Dockerfile | ||
|
||
DockerImageName = ${DockerRepository}/nas2d-$*:${ImageVersion_$*} | ||
DockerImageNameLatest = ${DockerRepository}/nas2d-$*:latest | ||
|
||
DockerBuildRules := build-image-gcc build-image-clang build-image-mingw build-image-arch | ||
DockerPushRules := push-image-gcc push-image-clang push-image-mingw push-image-arch | ||
DockerRunRules := run-image-gcc run-image-clang run-image-mingw run-image-arch | ||
DockerDebugRules := debug-image-gcc debug-image-clang debug-image-mingw debug-image-arch | ||
DockerDebugRootRules := root-debug-image-gcc root-debug-image-clang root-debug-image-mingw root-debug-image-arch | ||
|
||
.PHONY: ${DockerBuildRules} ${DockerPushRules} ${DockerRunRules} ${DockerDebugRules} ${DockerDebugRootRules} | ||
|
||
${DockerBuildRules}: build-image-%: | ||
docker build ${DockerFolder}/ --file ${DockerFileName} --tag ${DockerImageName} --tag ${DockerImageNameLatest} | ||
|
||
${DockerPushRules}: push-image-%: | ||
docker push ${DockerImageName} | ||
docker push ${DockerImageNameLatest} | ||
|
||
${DockerRunRules}: run-image-%: | ||
docker run ${DockerRunFlags} ${DockerUserFlags} ${DockerImageName} | ||
|
||
${DockerDebugRules}: debug-image-%: | ||
docker run ${DockerRunFlags} --interactive ${DockerUserFlags} ${DockerImageName} bash | ||
|
||
${DockerDebugRootRules}: root-debug-image-%: | ||
docker run ${DockerRunFlags} --interactive ${DockerImageName} bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters