# Incluir las variables de entorno mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) root_dir := $(patsubst %/,%,$(dir $(mkfile_path))) include $(root_dir)/.env # Limpiar los archivos de testeo clean: rm -rf _sites/test-* _deploy/test-* # Generar la imagen Docker build: docker build --build-arg="RAILS_MASTER_KEY=`cat config/master.key`" -t sutty/sutty . # Crear el directorio donde se almacenan las gemas binarias ../gems/: mkdir -p $@ gem_dir := $(shell readlink -f ../gems) gems := $(shell bundle show --paths | xargs -I {} sh -c 'test -d {}/ext && basename {}') gems_musl := $(patsubst %,$(gem_dir)/%-x86_64-linux-musl.gem,$(gems)) $(gem_dir)/%-x86_64-linux-musl.gem: docker run \ -v $(gem_dir):/srv/gems \ -v `readlink -f ~/.ccache`:/home/builder/.ccache \ -e HTTP_BASIC_USER=$(HTTP_BASIC_USER) \ -e HTTP_BASIC_PASSWORD=$(HTTP_BASIC_PASSWORD) \ -e GEM=`echo $* | sed -re "s/-[^-]+$$//"` \ -e VERSION=`echo $* | sed -re "s/.*-([^-]+)$$/\1/"` \ sutty/gem-compiler:latest # Compilar todas las gemas binarias y subirlas a gems.sutty.nl para que # al crear el contenedor no tengamos que compilarlas cada vez convert-gems: $(gems_musl) dirs := $(patsubst %,root/%,data sites deploy public) $(dirs): mkdir -p $@ test-container: $(dirs) docker run -v $(PWD)/root/data:/srv/http/data \ -v $(PWD)/root/sites:/srv/http/_sites \ -v $(PWD)/root/deploy:/srv/http/_deploy \ -v $(PWD)/root/public:/srv/http/_public \ -v $(PWD)/config/credentials.yml.enc:/srv/http/config/credentials.yml.enc \ -e RAILS_MASTER_KEY=`cat config/master.key` \ -it \ --rm \ --name=sutty \ sutty/sutty \ /bin/sh