kopia lustrzana https://github.com/carlos-algms/composer-and-node-ci
Install NodeJS from package-manager instead of manual download
rodzic
0c7a895aa5
commit
d425306089
70
Dockerfile
70
Dockerfile
|
@ -3,9 +3,9 @@ FROM ubuntu:jammy
|
||||||
LABEL maintainer="Carlos A. Gomes <carlos.algms@gmail.com>"
|
LABEL maintainer="Carlos A. Gomes <carlos.algms@gmail.com>"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
apt update \
|
apt-get update \
|
||||||
&& apt upgrade -y \
|
&& apt-get upgrade -y \
|
||||||
&& apt install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
curl \
|
curl \
|
||||||
default-mysql-client \
|
default-mysql-client \
|
||||||
|
@ -23,9 +23,9 @@ RUN \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
zip \
|
zip \
|
||||||
zsh \
|
zsh \
|
||||||
&& apt autoremove -y --purge \
|
&& apt-get autoremove -y --purge \
|
||||||
&& apt autoclean -y \
|
&& apt-get autoclean -y \
|
||||||
&& apt clean -y \
|
&& apt-get clean -y \
|
||||||
&& rm -rf /var/cache/debconf/*-old \
|
&& rm -rf /var/cache/debconf/*-old \
|
||||||
&& rm -rf /usr/share/doc/* \
|
&& rm -rf /usr/share/doc/* \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
@ -35,7 +35,7 @@ RUN \
|
||||||
ARG PHP_VERSION=8.2
|
ARG PHP_VERSION=8.2
|
||||||
RUN \
|
RUN \
|
||||||
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
|
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
php-pear \
|
php-pear \
|
||||||
php${PHP_VERSION}-cli \
|
php${PHP_VERSION}-cli \
|
||||||
php${PHP_VERSION}-common \
|
php${PHP_VERSION}-common \
|
||||||
|
@ -45,9 +45,9 @@ RUN \
|
||||||
php${PHP_VERSION}-sqlite3 \
|
php${PHP_VERSION}-sqlite3 \
|
||||||
php${PHP_VERSION}-xml \
|
php${PHP_VERSION}-xml \
|
||||||
php${PHP_VERSION}-zip \
|
php${PHP_VERSION}-zip \
|
||||||
&& apt autoremove -y --purge \
|
&& apt-get autoremove -y --purge \
|
||||||
&& apt autoclean -y \
|
&& apt-get autoclean -y \
|
||||||
&& apt clean -y \
|
&& apt-get clean -y \
|
||||||
&& rm -rf /var/cache/debconf/*-old \
|
&& rm -rf /var/cache/debconf/*-old \
|
||||||
&& rm -rf /usr/share/doc/* \
|
&& rm -rf /usr/share/doc/* \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
@ -74,27 +74,39 @@ RUN \
|
||||||
|
|
||||||
|
|
||||||
# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope
|
# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope
|
||||||
ARG TARGETARCH
|
# ARG TARGETARCH
|
||||||
|
|
||||||
# Install node, npm and yarn
|
# # Install node, npm and yarn
|
||||||
ARG NODE_VERSION="v16.17.1"
|
# ARG NODE_VERSION="v16.17.1"
|
||||||
|
# RUN \
|
||||||
|
# if [ "${TARGETARCH}" = "amd64" ]; then \
|
||||||
|
# ARCHITECTURE=x64; \
|
||||||
|
# elif [ "${TARGETARCH}" = "arm" ]; then \
|
||||||
|
# ARCHITECTURE=armv7l; \
|
||||||
|
# elif [ "${TARGETARCH}" = "arm64" ]; then \
|
||||||
|
# ARCHITECTURE=arm64; \
|
||||||
|
# else \
|
||||||
|
# echo "Unknown TARGETARCH: '${TARGETARCH}'";\
|
||||||
|
# exit 1; \
|
||||||
|
# fi \
|
||||||
|
# && curl -L "https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-${ARCHITECTURE}.tar.xz" \
|
||||||
|
# --output node.tar.xz \
|
||||||
|
# && tar xJf node.tar.xz -C /usr --strip-components=1 --no-same-owner \
|
||||||
|
# && rm node.tar.xz \
|
||||||
|
# && npm i -g yarn
|
||||||
|
|
||||||
|
# https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
|
||||||
RUN \
|
RUN \
|
||||||
if [ "${TARGETARCH}" = "amd64" ]; then \
|
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
|
||||||
ARCHITECTURE=x64; \
|
&& apt-get install -y nodejs \
|
||||||
elif [ "${TARGETARCH}" = "arm" ]; then \
|
&& npm i -g yarn \
|
||||||
ARCHITECTURE=armv7l; \
|
&& apt-get autoremove -y --purge \
|
||||||
elif [ "${TARGETARCH}" = "arm64" ]; then \
|
&& apt-get autoclean -y \
|
||||||
ARCHITECTURE=arm64; \
|
&& apt-get clean -y \
|
||||||
else \
|
&& rm -rf /var/cache/debconf/*-old \
|
||||||
echo "Unknown TARGETARCH: '${TARGETARCH}'";\
|
&& rm -rf /usr/share/doc/* \
|
||||||
exit 1; \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
fi \
|
&& rm -rf /var/cache/apt/*
|
||||||
&& curl -L "https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-${ARCHITECTURE}.tar.xz" \
|
|
||||||
--output node.tar.xz \
|
|
||||||
&& tar xJf node.tar.xz -C /usr --strip-components=1 --no-same-owner \
|
|
||||||
&& rm node.tar.xz \
|
|
||||||
&& npm i -g yarn
|
|
||||||
|
|
||||||
|
|
||||||
COPY zshrc /root/.zshrc
|
COPY zshrc /root/.zshrc
|
||||||
|
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -4,6 +4,7 @@ TARGET=Dockerfile
|
||||||
build_8:
|
build_8:
|
||||||
docker pull $(IMAGE):php8 || true; \
|
docker pull $(IMAGE):php8 || true; \
|
||||||
docker buildx build --rm . \
|
docker buildx build --rm . \
|
||||||
|
--load
|
||||||
-f $(TARGET) \
|
-f $(TARGET) \
|
||||||
-t $(IMAGE):latest \
|
-t $(IMAGE):latest \
|
||||||
-t $(IMAGE):php8
|
-t $(IMAGE):php8
|
||||||
|
@ -12,6 +13,7 @@ build_8:
|
||||||
build_71:
|
build_71:
|
||||||
docker buildx build --rm . \
|
docker buildx build --rm . \
|
||||||
-f $(TARGET) \
|
-f $(TARGET) \
|
||||||
|
--load \
|
||||||
--build-arg=PHP_VERSION="7.1" \
|
--build-arg=PHP_VERSION="7.1" \
|
||||||
--build-arg=DEPLOYER_VERSION="v6.6.0" \
|
--build-arg=DEPLOYER_VERSION="v6.6.0" \
|
||||||
--build-arg=COMPOSER_VERSION="2.2.18" \
|
--build-arg=COMPOSER_VERSION="2.2.18" \
|
||||||
|
|
Ładowanie…
Reference in New Issue