You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.8 KiB

  1. TAG := $(GITHUB_REF)
  2. ifeq ($(TAG),)
  3. TAG := $(shell git symbolic-ref --short -q HEAD)
  4. endif
  5. ifeq ($(TAG),)
  6. TAG := $(shell git rev-parse --short --verify HEAD)
  7. endif
  8. define docker_build_and_push
  9. docker buildx build \
  10. --push \
  11. --platform linux/arm64,linux/amd64 \
  12. -t "schickling/$1:$(if $2,$2,$(TAG))" \
  13. ./$1
  14. endef
  15. help:
  16. @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\nTargets:\n"} /^[0-9a-zA-Z_-]+:.*?##/ { printf " \033[36m%-18s\033[0m %s\n", $$1, $$2 }' $(MAKEFILE_LIST)
  17. @echo $(TAG)
  18. all: beanstalkd beanstalkd-console hugin jekyll latex mailcatcher mysql-backup-s3 nginx-envtpl nodejs octave opencv postgres-backup-s3 postgres-restore-s3 redis-commander rust s3cmd scala-sbt-docker swagger-ui thumbor-nginx-cors ## Build all images
  19. .PHONY: beanstalkd
  20. beanstalkd: ## Build beanstalkd image
  21. $(call docker_build_and_push,beanstalkd)
  22. .PHONY: beanstalkd-console
  23. beanstalkd-console: ## Build beanstalkd-console image
  24. $(call docker_build_and_push,beanstalkd-console)
  25. .PHONY: hugin
  26. hugin: ## Build hugin image
  27. $(call docker_build_and_push,hugin)
  28. .PHONY: jekyll # (This image is not compatible with arm architecture)
  29. jekyll: ## Build jekyll image
  30. docker buildx build \
  31. --push \
  32. --platform linux/amd64 \
  33. -t "schickling/$1" \
  34. ./$1
  35. .PHONY: latex
  36. latex: ## Build latex image
  37. $(call docker_build_and_push,latex)
  38. .PHONY: mailcatcher
  39. mailcatcher: ## Build mailcatcher image
  40. $(call docker_build_and_push,mailcatcher)
  41. .PHONY: mysql-backup-s3
  42. mysql-backup-s3: ## Build mysql-backup-s3 image
  43. $(call docker_build_and_push,mysql-backup-s3)
  44. .PHONY: nginx-envtpl
  45. nginx-envtpl: ## Build nginx-envtpl image
  46. $(call docker_build_and_push,nginx-envtpl)
  47. .PHONY: nodejs
  48. nodejs: ## Build nodejs image
  49. $(call docker_build_and_push,nodejs)
  50. .PHONY: octave
  51. octave: ## Build octave image
  52. $(call docker_build_and_push,octave)
  53. .PHONY: opencv
  54. opencv: ## Build opencv image
  55. $(call docker_build_and_push,opencv)
  56. .PHONY: postgres-backup-s3
  57. postgres-backup-s3: ## Build postgres-backup-s3 image
  58. $(call docker_build_and_push,postgres-backup-s3)
  59. .PHONY: postgres-restore-s3
  60. postgres-restore-s3: ## Build postgres-restore-s3 image
  61. $(call docker_build_and_push,postgres-restore-s3)
  62. .PHONY: redis-commander
  63. redis-commander: ## Build redis-commander image
  64. $(call docker_build_and_push,redis-commander)
  65. .PHONY: rust
  66. rust: ## Build rust image
  67. $(call docker_build_and_push,rust)
  68. .PHONY: s3cmd
  69. s3cmd: ## Build s3cmd image
  70. $(call docker_build_and_push,s3cmd)
  71. .PHONY: scala-sbt-docker
  72. scala-sbt-docker: ## Build scala-sbt-docker image
  73. $(call docker_build_and_push,scala-sbt-docker)
  74. .PHONY: swagger-ui
  75. swagger-ui: ## Build swagger-ui image
  76. $(call docker_build_and_push,swagger-ui)
  77. .PHONY: thumbor-nginx-cors
  78. thumbor-nginx-cors: ## Build thumbor-nginx-cors image
  79. $(call docker_build_and_push,thumbor-nginx-cors)