Update docker build script and tools

This commit is contained in:
Anton Vakhrushev 2018-04-12 07:32:44 +03:00
parent c4f11d1e69
commit a239631e9b
8 changed files with 40 additions and 34 deletions

3
.env
View File

@ -1 +1,2 @@
HOMEPAGE_IMAGE=homepage-php PHP_IMAGE=homepage-php
NODE_IMAGE=node:9.11

12
.gitignore vendored
View File

@ -1,7 +1,5 @@
.composer .idea/
.npm output_*
.vagrant node_modules/
/ansible/galaxy.roles/ var/
/output_* vendor/
/node_modules/
/vendor/

View File

@ -1,12 +1,12 @@
build-docker:
./tools/build
build-assets: build-assets:
./tools/npm run build ./tools/npm run build
build-site: build-site:
./tools/sculpin generate --clean --env=dev --no-interaction ./tools/sculpin generate --clean --env=dev --no-interaction
build-docker:
docker build --tag homepage-php .
build: build-site build-assets build: build-site build-assets
watch: build-assets watch: build-assets

View File

@ -1,16 +1,16 @@
FROM php:7.2-cli FROM php:7.2-cli
# Project folder # Project folder
RUN mkdir -p /var/homepage RUN mkdir -p /srv/app
WORKDIR /srv/homepage WORKDIR /srv/app
RUN apt-get update \ RUN apt-get update \
&& apt-get install -y git gnupg \ && apt-get install -y git zip curl gnupg \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# get composer and required tools # get composer and required tools
RUN curl -sLO https://getcomposer.org/download/1.5.2/composer.phar \ RUN curl -sLO https://getcomposer.org/download/1.6.3/composer.phar \
&& mv composer.phar /usr/local/bin/composer \ && mv composer.phar /usr/local/bin/composer \
&& chmod +x /usr/local/bin/composer && chmod +x /usr/local/bin/composer
@ -18,8 +18,3 @@ RUN curl -sLO https://getcomposer.org/download/1.5.2/composer.phar \
RUN curl -sLO https://deployer.org/releases/v6.0.3/deployer.phar \ RUN curl -sLO https://deployer.org/releases/v6.0.3/deployer.phar \
&& mv deployer.phar /usr/local/bin/dep \ && mv deployer.phar /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep && chmod +x /usr/local/bin/dep
# install npm
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*

8
tools/build Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
source .env
docker build \
--file docker/Dockerfile \
--tag ${PHP_IMAGE} \
$PWD

View File

@ -2,16 +2,17 @@
source .env source .env
mkdir -p ./.composer/cache mkdir -p var/docker-cache/.composer
docker run \ docker run \
--rm \ --rm \
--interactive \ --interactive \
--tty \ --tty \
--user $UID:$(id -g) \ --user "$UID:$(id -g)" \
--volume /etc/passwd:/etc/passwd:ro \ --volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \ --volume /etc/group:/etc/group:ro \
--volume $PWD:/srv/homepage \ --volume $PWD:/srv/app \
--volume $PWD/.composer:/tmp/.composer \ --volume $HOME:$HOME \
--volume $PWD/var/docker-cache/.composer:/tmp/.composer \
--env COMPOSER_HOME=/tmp/.composer \ --env COMPOSER_HOME=/tmp/.composer \
${HOMEPAGE_IMAGE} composer "$@" ${PHP_IMAGE} composer "$@"

View File

@ -2,14 +2,18 @@
source .env source .env
mkdir -p ./.npm mkdir -p var/docker-cache/.npm
docker run \ docker run \
--rm \ --rm \
--interactive \ --interactive \
--tty \ --tty \
--user $UID:$(id -g) \ --user "$UID:$(id -g)" \
--volume $PWD:/srv/homepage \ --volume /etc/passwd:/etc/passwd:ro \
--volume $PWD/.npm:/tpm/.npm \ --volume /etc/group:/etc/group:ro \
--volume $PWD:/srv/app \
--volume $HOME:$HOME \
--volume $PWD/var/docker-cache/.npm:/tmp/.npm \
--env npm_config_cache=/tmp/.npm \ --env npm_config_cache=/tmp/.npm \
${HOMEPAGE_IMAGE} npm "$@" --workdir /srv/app \
${NODE_IMAGE} npm "$@"

View File

@ -6,10 +6,9 @@ docker run \
--rm \ --rm \
--interactive \ --interactive \
--tty \ --tty \
--user "$UID" \
--init \ --init \
--volume="$PWD:/srv/homepage" \ --user "$UID:$(id -g)" \
--volume="$PWD:/srv/app" \
--expose=8000 \ --expose=8000 \
--publish=8000:8000 \ --publish=8000:8000 \
${HOMEPAGE_IMAGE} \ ${PHP_IMAGE} ./vendor/bin/sculpin "$@"
./vendor/bin/sculpin "$@"