|
1 | 1 | VENDOR=JetRails |
2 | 2 | MODULE=Varnish |
3 | | -NAMESPACE=$(VENDOR)"_"$(MODULE) |
4 | | -NAMESPACE_PATH=$(VENDOR)"/"$(MODULE) |
| 3 | +NAMESPACE=$(VENDOR)_$(MODULE) |
| 4 | +NAMESPACE_PATH=$(VENDOR)/$(MODULE) |
5 | 5 | VERSION=$(shell git describe --tags `git rev-list --tags --max-count=1`) |
6 | 6 | MODULE_FILES=Block Console Controller Model etc Helper Logger Observer view registration.php |
7 | 7 | MODULE_FILES_EXTRA=composer.json LICENSE.md |
8 | 8 |
|
9 | | -.PHONY: bump deploy watch package clean nuke dev-create dev-up dev-down dev-nuke |
| 9 | +.PHONY: bump deploy build package clean |
10 | 10 |
|
11 | 11 | bump: ## Bump version in source files based on latest git tag |
12 | | - VERSION=$(VERSION); find Block Console Controller Model etc Helper Logger Observer view registration.php -type f -iname "*.php" -exec sed -E -i '' "s/([\t ]+\*[\t ]+@version[\t ]+)(.*)/\1$$VERSION/g" {} + |
| 12 | + VERSION=$(VERSION); find $(MODULE_FILES) -type f -iname "*.php" -exec sed -E -i '' "s/([\t ]+\*[\t ]+@version[\t ]+)(.*)/\1$$VERSION/g" {} + |
13 | 13 | VERSION=$(VERSION); sed -E -i '' "s/(Version-)(.+)(-lightgrey)/\1$$VERSION\3/g" ./README.md |
14 | 14 | VERSION=$(VERSION); sed -E -i '' "s/(\"version\": \")(.+)(\")/\1$$VERSION\3/g" ./composer.json |
15 | 15 | VERSION=$(VERSION); sed -E -i '' "s/(<version>)(.+)(<\/version>)/\1$$VERSION\3/g" ./etc/config.xml |
16 | 16 | VERSION=$(VERSION); sed -E -i '' "s/setup_version=\"([^\"]+)\"/setup_version=\"$$VERSION\"/g" ./etc/module.xml |
17 | 17 | VERSION=$(VERSION); sed -E -i '' "s/schema_version=\"([^\"]+)\"/schema_version=\"$$VERSION\"/g" ./etc/module.xml |
18 | 18 | VERSION=$(VERSION); sed -E -i '' "s/const MODULE_VERSION = \"([^\"]+)\"/const MODULE_VERSION = \"$$VERSION\"/g" ./Helper/Data.php |
19 | 19 |
|
20 | | -deploy: ## Deploy code to public_html directory |
21 | | - NAMESPACE_PATH=$(NAMESPACE_PATH); mkdir -p "./public_html/app/code/$$NAMESPACE_PATH" |
22 | | - NAMESPACE_PATH=$(NAMESPACE_PATH); rsync -uavq $(MODULE_FILES) "./public_html/app/code/$$NAMESPACE_PATH" |
23 | | - |
24 | | -watch: deploy ## Intermittently sync code to public_html directory |
25 | | - fswatch -o $(MODULE_FILES) | xargs -n1 -I{} make deploy |
26 | | - |
| 20 | +build: ## Copy over files to build directory |
| 21 | + rm -rf ./build/$(NAMESPACE_PATH) |
| 22 | + mkdir -p ./build/$(NAMESPACE_PATH) |
| 23 | + rsync -uavq $(MODULE_FILES) ./build/$(NAMESPACE_PATH) |
| 24 | + |
| 25 | +deploy: build ## Deploy code to docker container |
| 26 | + docker compose exec magento rm -rf /bitnami/magento/app/code/$(NAMESPACE_PATH) |
| 27 | + docker compose exec magento mkdir -p /bitnami/magento/app/code/$(NAMESPACE_PATH) |
| 28 | + docker compose cp ./build/$(NAMESPACE_PATH) magento:/bitnami/magento/app/code/$(VENDOR) |
| 29 | + docker compose exec magento chown -R daemon:root /bitnami/magento/app/code |
| 30 | + |
27 | 31 | package: bump ## Package into archive file |
28 | 32 | rm -rf ./dist |
29 | 33 | mkdir -p ./dist |
30 | | - VERSION=$(VERSION); NAMESPACE=$(NAMESPACE); zip -r dist/$$NAMESPACE-$$VERSION.zip $(MODULE_FILES) $(MODULE_FILES_EXTRA) |
| 34 | + zip -r dist/$(NAMESPACE)-$(VERSION).zip $(MODULE_FILES) $(MODULE_FILES_EXTRA) |
31 | 35 |
|
32 | 36 | clean: ## Remove generated files and folders |
33 | | - rm -rf ./dist |
34 | | - |
35 | | -nuke: clean ## Remove generated & deployment data |
36 | | - rm -rf ./public_html |
37 | | - |
38 | | -shell: ## Attach a shell to deploy container |
39 | | - docker-compose -f public_html/docker-compose.yml run deploy bash |
40 | | - |
41 | | -restart-varnish: ## Restart varnish container (updated vcl file) |
42 | | - docker-compose -f public_html/docker-compose.yml -f public_html/docker-compose.override.yml restart varnish |
43 | | - |
44 | | -dev-create: ## Create development environment |
45 | | - composer global config repositories.magento composer https://repo.magento.com/ |
46 | | - composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.4 ./public_html |
47 | | - cd public_html && ln -s ../docker-only.vcl ./default.vcl |
48 | | - cd public_html && ln -s ../docker-only.custom.vcl ./default.custom.vcl |
49 | | - cd public_html && ln -s ../.magento.docker.yml ./.magento.docker.yml |
50 | | - cd public_html && ln -s ../.magento.setup.params ./.magento.setup.params |
51 | | - cd public_html && ln -s ../docker-compose.override.yml ./docker-compose.override.yml |
52 | | - cd public_html && composer require magento/ece-tools -w |
53 | | - cd public_html && ./vendor/bin/ece-docker build:compose --with-test --with-selenium --mode developer |
54 | | - cd public_html && docker-compose up -d |
55 | | - cd public_html && docker-compose run --rm deploy bin/magento setup:install `cat .magento.setup.params | tr '\n' ' '` ; |
56 | | - cd public_html && docker-compose run --rm deploy magento-command deploy:mode:set developer |
57 | | - cd public_html && docker-compose run --rm deploy magento-command module:disable Magento_TwoFactorAuth |
58 | | - cd public_html && docker-compose run --rm deploy magento-command cache:flush |
59 | | - |
60 | | -dev-up: ## Spin development environment up |
61 | | - cd public_html && docker-compose up -d |
62 | | - |
63 | | -dev-down: ## Spin development environment down |
64 | | - cd public_html && docker-compose down |
65 | | - |
66 | | -dev-nuke: dev-down nuke ## Spin development environment down |
67 | | - docker volume rm public_html_magento-development-magento-db |
| 37 | + rm -rf ./dist ./build |
68 | 38 |
|
69 | 39 | help: ## Display available commands |
70 | 40 | @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' |
0 commit comments