initial commit
This commit is contained in:
92
Makefile
Normal file
92
Makefile
Normal file
@@ -0,0 +1,92 @@
|
||||
THIS_FILE := $(lastword $(MAKEFILE_LIST))
|
||||
PWD:=$(shell echo ${PWD})
|
||||
UID:=$(shell id -u)
|
||||
GID:=$(shell id -g)
|
||||
BASE_TAG=chill_base_php
|
||||
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:14
|
||||
DOCKER_COMPOSE_PHP_EXEC_CMD=docker-compose run --rm --user $(UID):$(GID) -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env php
|
||||
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env --net=host $(BASE_TAG)
|
||||
PHP_BASE_IMAGE=php:7.4-fpm-buster
|
||||
PHP_BASE_IMAGE_CHILL=chill_base_php
|
||||
NGINX_BASE_IMAGE=nginx
|
||||
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
||||
ifneq (,$(wildcard ./.env))
|
||||
include .env
|
||||
export
|
||||
endif
|
||||
ifneq (,$(wildcard ./.env.local))
|
||||
include .env.local
|
||||
export
|
||||
endif
|
||||
|
||||
help:
|
||||
@echo "Please make use of 'make <target>' where <target> is one of: "
|
||||
@echo " build-assets to build assets for production"
|
||||
@echo " build-images to build image PHP and NGINX"
|
||||
@echo " build-and-push-images to build image PHP and NGINX and push them on a registry"
|
||||
@echo " init to initialize your development directory"
|
||||
@echo " install-vendor to install vendor using composer"
|
||||
@echo " migrate to migrate the database to last version"
|
||||
@echo " pull-base-images to pull base image used in image php and nginx images"
|
||||
@echo " post-install to run post-install scripts"
|
||||
@echo " post-update to run post-update scripts"
|
||||
@echo " tag-calver to replace the current version tag by a calendar version"
|
||||
@echo " tag-calver-push to replace the current version tag by a calendar version and push to registry"
|
||||
@echo " upgrade-vendors to upgrade vendor"
|
||||
|
||||
build-assets:
|
||||
$(DOCKERNODE_CMD) yarn install
|
||||
$(DOCKERNODE_CMD) yarn run encore production
|
||||
|
||||
init:
|
||||
docker build --target chill_base_php -t $(BASE_TAG) .
|
||||
$(DOCKER_PHP_EXEC_CMD_BASE) composer update --no-scripts --no-interaction
|
||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||
@$(MAKE) -f $(THIS_FILE) post-install
|
||||
|
||||
post-install:
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) composer run-script post-install-cmd
|
||||
|
||||
post-update:
|
||||
docker-compose build php
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) composer run-script post-update-cmd
|
||||
|
||||
migrate:
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) bin/console doctrine:migration:migrate -n
|
||||
|
||||
fixtures:
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) bin/console doctrine:fixtures:load -n
|
||||
|
||||
push-images:
|
||||
docker-compose push php nginx
|
||||
|
||||
pull-base-images:
|
||||
docker pull $(PHP_BASE_IMAGE)
|
||||
docker pull $(NGINX_BASE_IMAGE)
|
||||
docker pull composer:2
|
||||
|
||||
build-and-push-images:
|
||||
@$(MAKE) -f $(THIS_FILE) build-base-image-php
|
||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||
docker-compose build php nginx
|
||||
@$(MAKE) -f $(THIS_FILE) push-images
|
||||
|
||||
build-images:
|
||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||
docker-compose build php nginx
|
||||
|
||||
upgrade-vendors:
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) composer update
|
||||
|
||||
install-vendors:
|
||||
$(DOCKER_COMPOSE_PHP_EXEC_CMD) composer install
|
||||
|
||||
tag-calver:
|
||||
docker tag $(IMAGE_PHP):$(VERSION) $(IMAGE_PHP):$(CALVER)
|
||||
docker tag $(IMAGE_NGINX):$(VERSION) $(IMAGE_NGINX):$(CALVER)
|
||||
|
||||
tag-calver-push:
|
||||
@$(MAKE) -f $(THIS_FILE) tag-calver
|
||||
docker push $(IMAGE_PHP):$(CALVER)
|
||||
docker push $(IMAGE_NGINX):$(CALVER)
|
||||
|
Reference in New Issue
Block a user