laravel-base/Makefile
Jaysen Nuttall 12b7aa8f2e Update depencies
- Update PHP to 8
- Update composer to 2.0
- Update Node (debian) to 14
2021-01-12 19:33:12 -07:00

45 lines
2.1 KiB
Makefile

.DEFAULT:
@echo 'Invalid target.'
@echo
@echo ' Required ENV variables:'
@echo ' PHP_VERSION - the version of php to build, e.g., 8.0'
@echo ' PHP_INTERFACE - the type of php interface, e.g., apache, fpm'
@echo ' ARCHITECTURE_VERSION - the version of architecture, e.g., buster (for debian) or 3.12 (for alpine)'
@echo ' (optional for alpine)'
@echo
@echo ' alpine build alpine image'
@echo ' debian build debian stretch image'
@echo
@echo ' push-alpine build and push alpine image to the registry'
@echo ' push-debian build and push debian image to the registry'
@echo
default: .DEFAULT
all:
PHP_VERSION=8.0 PHP_INTERFACE=apache ARCHITECTURE_VERSION=buster make debian
REGISTRY=registry.xengul.com/xen/laravel-base PHP_VERSION=8.0 PHP_INTERFACE=apache ARCHITECTURE_VERSION=buster make push-debian
PHP_VERSION=8.0 PHP_INTERFACE=fpm ARCHITECTURE_VERSION=3.12 make alpine
REGISTRY=registry.xengul.com/xen/laravel-base PHP_VERSION=8.0 PHP_INTERFACE=fpm ARCHITECTURE_VERSION=3.12 make push-alpine
alpine:
BUILDKIT=1 docker build \
--build-arg PHP_VERSION=${PHP_VERSION} \
--build-arg PHP_INTERFACE=${PHP_INTERFACE} \
--build-arg ARCHITECTURE_VERSION=${ARCHITECTURE_VERSION} \
--pull --target=alpine -t laravel-base:${PHP_VERSION}-${PHP_INTERFACE}-alpine${ARCHITECTURE_VERSION} .
debian:
BUILDKIT=1 docker build \
--build-arg PHP_VERSION=${PHP_VERSION} \
--build-arg PHP_INTERFACE=${PHP_INTERFACE} \
--build-arg ARCHITECTURE_VERSION=${ARCHITECTURE_VERSION} \
--pull --target=debian -t laravel-base:${PHP_VERSION}-${PHP_INTERFACE}-${ARCHITECTURE_VERSION} .
push-alpine: alpine
docker tag laravel-base:${PHP_VERSION}-${PHP_INTERFACE}-alpine${ARCHITECTURE_VERSION} ${REGISTRY}:${PHP_VERSION}-${PHP_INTERFACE}-alpine${ARCHITECTURE_VERSION}
docker push ${REGISTRY}:${PHP_VERSION}-${PHP_INTERFACE}-alpine${ARCHITECTURE_VERSION}
push-debian: debian
docker tag laravel-base:${PHP_VERSION}-${PHP_INTERFACE}-${ARCHITECTURE_VERSION} ${REGISTRY}:${PHP_VERSION}-${PHP_INTERFACE}-${ARCHITECTURE_VERSION}
docker push ${REGISTRY}:${PHP_VERSION}-${PHP_INTERFACE}-${ARCHITECTURE_VERSION}