diff --git a/Dockerfile-branch.model b/Dockerfile-branch.model index 6b2b356e..26b55916 100644 --- a/Dockerfile-branch.model +++ b/Dockerfile-branch.model @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=$branch_version +ENV NODE_VERSION=$node_version CMD ["/tmp/docker_branch_run.sh"] diff --git a/HOW-TO-USE.md b/HOW-TO-USE.md index 2c127907..eaae3d71 100644 --- a/HOW-TO-USE.md +++ b/HOW-TO-USE.md @@ -143,11 +143,25 @@ Finally, you can launch your PrestaShop container using docker compose $ PS_VERSION=9.0.x PHP_VERSION=8.3 docker compose -f images/docker-compose.yml up ``` -Or you can use this script that performs these actions based on the arguments +Or you can use the `build-local-docker.sh` script that performs these actions based on the options ``` +# Script options: +# +# -v PRESTA_SHOP_VERSION +# -s SERVER (apache|fpm) +# -p PHP_VERSION (7.1, 8.2, ...) +# -l Launch shop thanks to a docker compose (default false) +# # Default values are nightly 8.3 apache -./build-local-docker.sh 9.0.x 8.1 fpm + +$ ./build-local-docker.sh -v 9.0.x -p 8.1 -s fpm +``` + +Adding the `-l` option will also launch a container build with docker compose so you get an accessible shop locally + +``` +$ ./build-local-docker.sh -v 9.0.x -p 8.1 -s fpm -l ``` Now you should be able to access a shop at this address: `http://localhost:8001/` diff --git a/base/config_files/docker_branch_run.sh b/base/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/config_files/docker_branch_run.sh +++ b/base/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.1-apache/config_files/docker_branch_run.sh b/base/images/7.1-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.1-apache/config_files/docker_branch_run.sh +++ b/base/images/7.1-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.1-fpm/config_files/docker_branch_run.sh b/base/images/7.1-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.1-fpm/config_files/docker_branch_run.sh +++ b/base/images/7.1-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.2-apache/config_files/docker_branch_run.sh b/base/images/7.2-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.2-apache/config_files/docker_branch_run.sh +++ b/base/images/7.2-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.2-fpm/config_files/docker_branch_run.sh b/base/images/7.2-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.2-fpm/config_files/docker_branch_run.sh +++ b/base/images/7.2-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.3-apache/config_files/docker_branch_run.sh b/base/images/7.3-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.3-apache/config_files/docker_branch_run.sh +++ b/base/images/7.3-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.3-fpm/config_files/docker_branch_run.sh b/base/images/7.3-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.3-fpm/config_files/docker_branch_run.sh +++ b/base/images/7.3-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.4-apache/config_files/docker_branch_run.sh b/base/images/7.4-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.4-apache/config_files/docker_branch_run.sh +++ b/base/images/7.4-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/7.4-fpm/config_files/docker_branch_run.sh b/base/images/7.4-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/7.4-fpm/config_files/docker_branch_run.sh +++ b/base/images/7.4-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.0-apache/config_files/docker_branch_run.sh b/base/images/8.0-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.0-apache/config_files/docker_branch_run.sh +++ b/base/images/8.0-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.0-fpm/config_files/docker_branch_run.sh b/base/images/8.0-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.0-fpm/config_files/docker_branch_run.sh +++ b/base/images/8.0-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.1-apache/config_files/docker_branch_run.sh b/base/images/8.1-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.1-apache/config_files/docker_branch_run.sh +++ b/base/images/8.1-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.1-fpm/config_files/docker_branch_run.sh b/base/images/8.1-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.1-fpm/config_files/docker_branch_run.sh +++ b/base/images/8.1-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.2-apache/config_files/docker_branch_run.sh b/base/images/8.2-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.2-apache/config_files/docker_branch_run.sh +++ b/base/images/8.2-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.2-fpm/config_files/docker_branch_run.sh b/base/images/8.2-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.2-fpm/config_files/docker_branch_run.sh +++ b/base/images/8.2-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.3-apache/config_files/docker_branch_run.sh b/base/images/8.3-apache/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.3-apache/config_files/docker_branch_run.sh +++ b/base/images/8.3-apache/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/base/images/8.3-fpm/config_files/docker_branch_run.sh b/base/images/8.3-fpm/config_files/docker_branch_run.sh index 7a24ceb8..671f7dca 100755 --- a/base/images/8.3-fpm/config_files/docker_branch_run.sh +++ b/base/images/8.3-fpm/config_files/docker_branch_run.sh @@ -19,7 +19,7 @@ if [ ! -f /usr/local/bin/composer ]; then fi fi -# Install vendor dependencies +# Install vendor dependencies (vendor are always installed) if [ ! -f /var/www/html/vendor/autoload.php ]; then echo "\n* Running composer ..."; pushd /var/www/html @@ -30,8 +30,9 @@ if [ ! -f /var/www/html/vendor/autoload.php ]; then popd fi -# Build assets -if [ "${DISABLE_MAKE}" != "1" ]; then +# Build assets unless make is disabled (which can b the case when we only need PHP dependencies in CI) +# If auto install is enabled though we must build the assets +if [ "${DISABLE_MAKE}" != "1" ] || [ "${PS_INSTALL_AUTO}" == "1"]; then mkdir -p /var/www/.npm chown -R www-data:www-data /var/www/.npm diff --git a/build-local-docker.sh b/build-local-docker.sh index 45c86fec..651ec34f 100755 --- a/build-local-docker.sh +++ b/build-local-docker.sh @@ -4,15 +4,31 @@ PS_VERSION=nigthly PHP_VERSION=8.3 SERVER=apache -if [ $# -gt 0 ]; then - PS_VERSION=$1 -fi -if [ $# -gt 1 ]; then - PHP_VERSION=$2 -fi -if [ $# -gt 2 ]; then - SERVER=$3 -fi +LAUNCH=false +while getopts "lv:p:s:" option; do + case $option in + v) + PS_VERSION=$OPTARG + ;; + p) + PHP_VERSION=$OPTARG + ;; + s) + SERVER=$OPTARG + ;; + l) + LAUNCH=true + ;; + :) + echo "Option $OPTARG requires an argument" + exit 1 + ;; + \?) + echo "$option : invalid option" + exit 1 + ;; + esac +done echo Building PrestaShop $PS_VERSION with PHP $PHP_VERSION and Server $SERVER @@ -22,5 +38,7 @@ docker build base/images/$PHP_VERSION-$SERVER -t prestashop/base:$PHP_VERSION-$S echo Building PrestaShop image for version $PS_VERSION docker build images/$PS_VERSION/$PHP_VERSION-$SERVER -t prestashop/prestashop:$PS_VERSION-$PHP_VERSION-$SERVER -echo Launching docker container with docker compose -PS_VERSION=$PS_VERSION PHP_VERSION=$PHP_VERSION SERVER=$SERVER docker compose -f images/docker-compose.yml up +if [ $LAUNCH == 'true' ]; then + echo Launching docker container with docker compose + PS_VERSION=$PS_VERSION PHP_VERSION=$PHP_VERSION SERVER=$SERVER docker compose -f images/docker-compose.yml up +fi diff --git a/images/9.0.x/8.1-apache/Dockerfile b/images/9.0.x/8.1-apache/Dockerfile index deba0af4..b34fe655 100644 --- a/images/9.0.x/8.1-apache/Dockerfile +++ b/images/9.0.x/8.1-apache/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/9.0.x/8.1-fpm/Dockerfile b/images/9.0.x/8.1-fpm/Dockerfile index 3e35d884..880c7ac7 100644 --- a/images/9.0.x/8.1-fpm/Dockerfile +++ b/images/9.0.x/8.1-fpm/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/9.0.x/8.2-apache/Dockerfile b/images/9.0.x/8.2-apache/Dockerfile index d01b3a0f..3e8d2de1 100644 --- a/images/9.0.x/8.2-apache/Dockerfile +++ b/images/9.0.x/8.2-apache/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/9.0.x/8.2-fpm/Dockerfile b/images/9.0.x/8.2-fpm/Dockerfile index 01f64025..fab44f6b 100644 --- a/images/9.0.x/8.2-fpm/Dockerfile +++ b/images/9.0.x/8.2-fpm/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/9.0.x/8.3-apache/Dockerfile b/images/9.0.x/8.3-apache/Dockerfile index 98f3adc5..142d08a1 100644 --- a/images/9.0.x/8.3-apache/Dockerfile +++ b/images/9.0.x/8.3-apache/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/9.0.x/8.3-fpm/Dockerfile b/images/9.0.x/8.3-fpm/Dockerfile index acf013a8..22ca30c9 100644 --- a/images/9.0.x/8.3-fpm/Dockerfile +++ b/images/9.0.x/8.3-fpm/Dockerfile @@ -5,5 +5,6 @@ RUN apt update RUN apt -y install git ENV PS_BRANCH=9.0.x +ENV NODE_VERSION=v20.17.0 CMD ["/tmp/docker_branch_run.sh"] diff --git a/images/docker-compose.yml b/images/docker-compose.yml index 7d888cc9..b492a1a6 100644 --- a/images/docker-compose.yml +++ b/images/docker-compose.yml @@ -35,7 +35,6 @@ services: PS_USE_DOCKER_MAILDEV: ${PS_USE_DOCKER_MAILDEV:-1} ADMIN_MAIL: ${ADMIN_MAIL:-demo@prestashop.com} ADMIN_PASSWD: ${ADMIN_PASSWD:-Correct Horse Battery Staple} - NODE_VERSION: ${NODE_VERSION:-v20.17.0} ports: - "8001:80" - "8002:443" diff --git a/prestashop_docker/generator.py b/prestashop_docker/generator.py index 38abfc32..7e950251 100644 --- a/prestashop_docker/generator.py +++ b/prestashop_docker/generator.py @@ -73,6 +73,15 @@ def generate_image(self, ps_version, container_version): ps_version = parsed_version['ps_version'] branch_version = parsed_version['branch_version'] + if split_version is None: + node_version = 'v20.17.0' + elif split_version['major'] == '1.7': + node_version = 'v14.20.0' + elif split_version['major'] == '8': + node_version = 'v16.20.2' + else: + node_version = 'v20.17.0' + with open(file_path, 'w+') as f: use_github_url = True # We use 1.7.8.8 as the comparison base because the 1.7.8.9 is not hosted on the .com anymore but until 1.7.8.8, @@ -90,6 +99,7 @@ def generate_image(self, ps_version, container_version): 'ps_version': ps_version, 'branch_version': branch_version, 'container_version': container_version, + 'node_version': node_version, 'ps_url': ps_url } ) diff --git a/tests/prestashop_docker/test_generator.py b/tests/prestashop_docker/test_generator.py index ddc52c4f..4ea25fb2 100644 --- a/tests/prestashop_docker/test_generator.py +++ b/tests/prestashop_docker/test_generator.py @@ -30,6 +30,7 @@ def setUp(self): CONTAINER_VERSION: $container_version RUN apt -y install git ENV PS_BRANCH=$branch_version + ENV NODE_VERSION=$node_version ''' ) @@ -157,6 +158,7 @@ def test_generate_branch_image(self): self.assertIn('CONTAINER_VERSION: 8.1-alpine', content) self.assertIn('RUN apt -y install git', content) self.assertIn('ENV PS_BRANCH=9.0.x', content) + self.assertIn('ENV NODE_VERSION=v20.17.0', content) def test_generate_all(self): files = (