From 6c3ae43aa406df5c4609ebc6800ec057b51e0695 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Sat, 14 Sep 2024 23:40:46 +0800 Subject: [PATCH] delete multistage-build-dependencies-container --- .../Dockerfile-all-dependencies-alpine | 117 ------------------ .../all-dependencies-build-container.sh | 105 ---------------- .../all-dependencies-image-to-file.sh | 23 ---- .../setup-container-mirror.sh | 32 ----- 4 files changed, 277 deletions(-) delete mode 100644 sapi/multistage-build-dependencies-container/Dockerfile-all-dependencies-alpine delete mode 100644 sapi/multistage-build-dependencies-container/all-dependencies-build-container.sh delete mode 100644 sapi/multistage-build-dependencies-container/all-dependencies-image-to-file.sh delete mode 100644 sapi/multistage-build-dependencies-container/setup-container-mirror.sh diff --git a/sapi/multistage-build-dependencies-container/Dockerfile-all-dependencies-alpine b/sapi/multistage-build-dependencies-container/Dockerfile-all-dependencies-alpine deleted file mode 100644 index 674d0cbd7..000000000 --- a/sapi/multistage-build-dependencies-container/Dockerfile-all-dependencies-alpine +++ /dev/null @@ -1,117 +0,0 @@ -FROM alpine:3.18 as builder-all-library - -RUN uname -a - -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -ENV TZ=Etc/UTC - -ARG COMPOSER_MIRROR="" -ARG MIRROR="" - - -RUN test -f /etc/apk/repositories.save || cp /etc/apk/repositories /etc/apk/repositories.save - -# setup source repo, install dependencies -RUN if [ "${MIRROR}" = "ustc" -o "${MIRROR}" = "china" ]; then { sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories ; } fi -RUN if [ "${MIRROR}" = "tuna" ]; then { sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories ; } fi - - -WORKDIR /work - -RUN mkdir -p /usr/local/swoole-cli/etc/ - -ADD ./bin/runtime/php /usr/local/bin/ -ADD ./bin/runtime/composer /usr/local/bin/ -ADD ./bin/runtime/cacert.pem /etc/ssl/certs/ - - -ADD ./php.ini /usr/local/swoole-cli/etc/ - -ADD ./ /work - - -RUN chmod a+x /usr/local/bin/php -RUN chmod a+x /usr/local/bin/composer - - -ENV CERT_FILE=/etc/ssl/certs/cacert.pem -# ENV CERT_FILE=/etc/ssl/certs/ca-certificates.crt -ENV PHP_INI=/usr/local/swoole-cli/etc/php.ini - -RUN alias php='php -d curl.cainfo="${CERT_FILE}" -d openssl.cafile="${CERT_FILE}"' - -RUN echo "alias php='php -d curl.cainfo=\"\${CERT_FILE}\" -d openssl.cafile=\"\${CERT_FILE}\"'" >>/root/.bashrc - -RUN sh sapi/quickstart/linux/alpine-init.sh --mirror ${MIRROR} - - - -WORKDIR /work - -ENV COMPOSER_ALLOW_SUPERUSER=1 - -RUN if [ "${COMPOSER_MIRROR}" = "aliyun" ]; then { composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ ; } fi -RUN if [ "${COMPOSER_MIRROR}" = "tencent" -o "${COMPOSER_MIRROR}" = "china" ]; then { composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/ ; } fi - -RUN composer update --optimize-autoloader -RUN composer config -g --unset repos.packagist - - -RUN php prepare.php +apcu +ds +xlswriter +ssh2 +uuid - -RUN bash make-install-deps.sh - -RUN bash make.sh all-library - - - -FROM alpine:3.18 - -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -ENV TZ=Etc/UTC - -ARG COMPOSER_MIRROR="" -ARG MIRROR="" - -# setup source repo, install dependencies -RUN cp /etc/apk/repositories /etc/apk/repositories.save - -RUN if [ "${MIRROR}" = "ustc" -o "${MIRROR}" = "china" ]; then { sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories ; } fi -RUN if [ "${MIRROR}" = "tuna" ]; then { sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories ; } fi - -RUN apk update && apk add --no-cache tini - -WORKDIR /work - - -COPY --from=builder-all-library /usr/local/bin/php /usr/local/bin/php -COPY --from=builder-all-library /usr/local/bin/composer /usr/local/bin/composer -COPY --from=builder-all-library /etc/ssl/certs/cacert.pem /etc/ssl/certs/cacert.pem - -COPY --from=builder-all-library /usr/local/swoole-cli /usr/local/swoole-cli - - -RUN chmod a+x /usr/local/bin/php -RUN chmod a+x /usr/local/bin/composer - -ENV CERT_FILE=/etc/ssl/certs/cacert.pem -# ENV CERT_FILE=/etc/ssl/certs/ca-certificates.crt -ENV PHP_INI=/usr/local/swoole-cli/etc/php.ini - - - -ENV PHP_INI=/usr/local/swoole-cli/etc/php.ini - - -RUN alias php='php -d curl.cainfo="${CERT_FILE}" -d openssl.cafile="${CERT_FILE}"' - -RUN echo "alias php='php -d curl.cainfo=\"\${CERT_FILE}\" -d openssl.cafile=\"\${CERT_FILE}\"'" >>/root/.bashrc - -ENV COMPOSER_ALLOW_SUPERUSER=1 - -RUN test -f /etc/apk/repositories.save && cp -f /etc/apk/repositories.save /etc/apk/repositories - -RUN rm -rf /var/cache/apk/* /tmp/* /var/tmp/* - -ENTRYPOINT ["tini", "--"] - diff --git a/sapi/multistage-build-dependencies-container/all-dependencies-build-container.sh b/sapi/multistage-build-dependencies-container/all-dependencies-build-container.sh deleted file mode 100644 index f41829641..000000000 --- a/sapi/multistage-build-dependencies-container/all-dependencies-build-container.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash - -set -exu -__DIR__=$( - cd "$(dirname "$0")" - pwd -) -__PROJECT__=$( - cd ${__DIR__}/../../ - pwd -) - -if [[ -f /.dockerenv ]]; then - echo 'not support in docker' - exit 0 -fi - - -cd ${__PROJECT__} - -mkdir -p ${__PROJECT__}/var - - -# export DOCKER_BUILDKIT=1 - -ARCH=$(uname -m) - -TIME=$(date -u '+%Y%m%dT%H%M%SZ') - -VERSION="1.0.0" -TAG="all-dependencies-alpine-3.18-php8-v${VERSION}-${ARCH}-${TIME}" -IMAGE="docker.io/jingjingxyk/build-swoole-cli:${TAG}" -IMAGE="docker.io/phpswoole/swoole-cli-builder:${TAG}" - - -COMPOSER_MIRROR="" -MIRROR="" -PLATFORM='' - -ARCH=$(uname -m) -case $ARCH in -'x86_64') - PLATFORM='linux/amd64' - ;; -'aarch64') - PLATFORM='linux/arm64' - ;; -esac - - -while [ $# -gt 0 ]; do - case "$1" in - --composer_mirror) - COMPOSER_MIRROR="$2" # "aliyun" "tencent" "china" - ;; - --mirror) - MIRROR="$2" # "ustc" "tuna" "china" - ;; - --platform) - PLATFORM="$2" - ;; - --*) - echo "Illegal option $1" - ;; - esac - shift $(($# > 0 ? 1 : 0)) -done - -cd ${__PROJECT__}/ - -if [ ! -f make.sh ] ;then - echo 'please run script:' - echo 'bash build-release.sh --mirror china --build-contianer' - exit 0 -fi - -cp -f ${__DIR__}/Dockerfile-all-dependencies-alpine . -cp -f ${__DIR__}/php.ini . - - -docker buildx build -t ${IMAGE} -f ./Dockerfile-all-dependencies-alpine . \ ---progress=plain \ ---build-arg="COMPOSER_MIRROR=${COMPOSER_MIRROR}" \ ---build-arg="MIRROR=${MIRROR}" \ ---platform "${PLATFORM}" - - -mkdir -p ${__PROJECT__}/var -cd ${__PROJECT__}/ - - -echo ${IMAGE} > ${__PROJECT__}/var/all-dependencies-container.txt - - -# docker push ${IMAGE} - - -# 例子: - -# bash build-release.sh --mirror china --build-contianer - -# bash sapi/multistage-build-dependencies-container/all-dependencies-build-container.sh --composer_mirror tencent --mirror ustc --platform 'linux/amd64' -# 验证构建结果 -# bash sapi/multistage-build-dependencies-container/all-dependencies-run-container-test.sh - diff --git a/sapi/multistage-build-dependencies-container/all-dependencies-image-to-file.sh b/sapi/multistage-build-dependencies-container/all-dependencies-image-to-file.sh deleted file mode 100644 index cf38f9c2a..000000000 --- a/sapi/multistage-build-dependencies-container/all-dependencies-image-to-file.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -exu -__DIR__=$( - cd "$(dirname "$0")" - pwd -) -__PROJECT__=$( - cd ${__DIR__}/../../ - pwd -) - -mkdir -p ${__PROJECT__}/var -cd ${__PROJECT__}/var - - -docker save -o "all-dependencies-container-image-$(uname -m).tar" $(cat all-dependencies-container.txt) - -# xz 并行压缩 -T cpu核数 -k 保持源文件 -xz -9 -T$(nproc) -k "all-dependencies-container-image-$(uname -m).tar" - -# xz 解压 -# xz -d -T$(nproc) -k "all-dependencies-container-image-$(uname -m).tar.xz" diff --git a/sapi/multistage-build-dependencies-container/setup-container-mirror.sh b/sapi/multistage-build-dependencies-container/setup-container-mirror.sh deleted file mode 100644 index a1714f309..000000000 --- a/sapi/multistage-build-dependencies-container/setup-container-mirror.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -set -exu -__DIR__=$( - cd "$(dirname "$0")" - pwd -) -__PROJECT__=$( - cd ${__DIR__}/../../ - pwd -) - -if [[ -f /.dockerenv ]]; then - echo 'no running in docker' - exit 0 -fi - -mkdir -p ${__PROJECT__}/var -cd ${__PROJECT__}/var - -if [[ ! -f all-dependencies-container.txt ]]; then - echo 'no all-dependencies-container.txt file' - exit 0 -fi - -IMAGE=$(cat all-dependencies-container.txt) - -MIRROR_IMAGE=$(echo ${IMAGE} | sed 's@docker.io/phpswoole/swoole-cli-builder@registry-vpc.cn-beijing.aliyuncs.com/jingjingxyk-public/app@') - -docker tag ${IMAGE} ${MIRROR_IMAGE} - -docker push ${MIRROR_IMAGE}