ci: copy theme assets from Docker container
This commit is contained in:
parent
c898f4da4f
commit
8953de7dbd
|
@ -50,7 +50,11 @@ services:
|
|||
restart: unless-stopped
|
||||
|
||||
node:
|
||||
image: node:14-alpine
|
||||
build:
|
||||
context: .
|
||||
dockerfile: tools/docker/Dockerfile
|
||||
target: assets
|
||||
image: ghcr.io/opdavies/oliverdavies-uk-assets:node-14
|
||||
working_dir: /node
|
||||
entrypoint: sh
|
||||
volumes:
|
||||
|
|
13
run
13
run
|
@ -7,6 +7,19 @@ if [[ ! -t 1 ]]; then
|
|||
TTY="-T"
|
||||
fi
|
||||
|
||||
function task:build-and-push-images {
|
||||
export DOCKER_BUILDKIT=1
|
||||
|
||||
docker-compose build assets
|
||||
docker-compose push assets
|
||||
}
|
||||
|
||||
function task:copy-theme-assets {
|
||||
docker container run --entrypoint sh --name oliverdavies-uk-assets oliverdavies-uk-assets
|
||||
docker cp oliverdavies-uk-assets:/node/build web/themes/custom/opdavies
|
||||
docker container rm oliverdavies-uk-assets
|
||||
}
|
||||
|
||||
function task:bash {
|
||||
task:exec bash "${@}"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
---
|
||||
- include: ../includes/build-theme-assets.yml
|
||||
|
||||
- name: Install Composer dependencies
|
||||
composer:
|
||||
command: install
|
||||
|
@ -34,5 +36,3 @@
|
|||
chdir={{ release_web_path }}
|
||||
register: config_import_result
|
||||
changed_when: "'There are no changes to import' not in config_import_result.stderr"
|
||||
|
||||
- include: ../includes/build-theme-assets.yml
|
||||
|
|
|
@ -1,19 +1,8 @@
|
|||
---
|
||||
- name: Install theme dependencies
|
||||
command: >
|
||||
npm ci
|
||||
chdir={{ release_theme_path }}
|
||||
creates={{ release_theme_path }}/node_modules
|
||||
|
||||
- name: Generate front-end assets
|
||||
command: >
|
||||
npm run production
|
||||
chdir={{ release_theme_path }}
|
||||
creates={{ release_theme_path }}/dist
|
||||
|
||||
- name: Remove files that are no longer needed
|
||||
file:
|
||||
path: "{{ release_theme_path }}/{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- node_modules
|
||||
- name: Copy theme dependencies from the Docker container.
|
||||
command: |
|
||||
pwd
|
||||
ls
|
||||
docker-compose pull
|
||||
./run copy-theme-assets
|
||||
creates={{ release_theme_path }}/build
|
||||
|
|
|
@ -55,3 +55,23 @@ COPY composer.json composer.lock /app/
|
|||
COPY assets /app/assets
|
||||
COPY tools/patches /app/tools/patches
|
||||
RUN composer install
|
||||
|
||||
###
|
||||
|
||||
FROM node:14-alpine AS assets
|
||||
|
||||
WORKDIR /node
|
||||
|
||||
COPY web/themes/custom/opdavies/package*.json ./
|
||||
|
||||
RUN npm install
|
||||
|
||||
COPY web/themes/custom/opdavies/postcss.config.js .
|
||||
COPY web/themes/custom/opdavies/webpack.config.js .
|
||||
COPY web/themes/custom/opdavies/tailwind.config.js .
|
||||
COPY web/themes/custom/opdavies/tailwindcss tailwindcss
|
||||
COPY web/themes/custom/opdavies/assets assets
|
||||
COPY web/themes/custom/opdavies/templates templates
|
||||
|
||||
RUN npm run prod \
|
||||
&& rm -fr node_modules
|
||||
|
|
Loading…
Reference in a new issue