From bd7c5f8e651301c3573bc51bcc96820c44cb0ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B0=8F=E7=99=BD?= <296015668@qq.com> Date: Mon, 14 Aug 2023 10:57:40 +0800 Subject: [PATCH] =?UTF-8?q?revert:=20=E8=BF=98=E5=8E=9F=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 73 ++++++++------------------------------------------ Dockerfile-ee | 71 ++++++++++++++++++++++++++++++++++++++++++++++-- poetry.lock | 41 ++++------------------------ pyproject.toml | 15 ++--------- 4 files changed, 87 insertions(+), 113 deletions(-) diff --git a/Dockerfile b/Dockerfile index 42ef5566c..6742225f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,14 @@ -FROM jumpserver/python:3.11-slim-buster as stage-build +FROM python:3.11-slim-bullseye as stage-build +ARG TARGETARCH + +ARG VERSION +ENV VERSION=$VERSION + +WORKDIR /opt/jumpserver +ADD . . +RUN cd utils && bash -ixeu build.sh + +FROM python:3.11-slim-bullseye ARG TARGETARCH ARG BUILD_DEPENDENCIES=" \ @@ -42,67 +52,6 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \ && apt-get -y install --no-install-recommends ${BUILD_DEPENDENCIES} \ && apt-get -y install --no-install-recommends ${DEPENDENCIES} \ && apt-get -y install --no-install-recommends ${TOOLS} \ - && echo "no" | dpkg-reconfigure dash \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /opt -RUN set -ex \ - && cd /opt \ - && \ - if [ "${TARGETARCH}" == "loong64" ]; then \ - mkdir -p /opt/rust-install; \ - wget -O /opt/rust.tar.gz https://rust-lang.loongnix.cn/dist/2022-11-03/rust-1.65.0-loongarch64-unknown-linux-gnu.tar.xz; \ - tar -xf /opt/rust.tar.gz -C /opt/rust-install --strip-components=1; \ - cd /opt/rust-install && ./install.sh; \ - cd /opt; \ - rm -rf /opt/rust.tar.gz /opt/rust-install; \ - fi - -ARG VERSION -ENV VERSION=$VERSION - -WORKDIR /opt/jumpserver -ADD . . -RUN cd utils && bash -ixeu build.sh - -ARG PIP_MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple -RUN --mount=type=cache,target=/root/.cache \ - set -ex \ - && pip install poetry -i ${PIP_MIRROR} \ - && poetry config virtualenvs.create false \ - && poetry install - -FROM jumpserver/python:3.11-slim-buster -ARG TARGETARCH - -ARG DEPENDENCIES=" \ - libxmlsec1-openssl" - -ARG TOOLS=" \ - ca-certificates \ - curl \ - default-libmysqlclient-dev \ - default-mysql-client \ - inetutils-ping \ - locales \ - openssh-client \ - procps \ - sshpass \ - telnet \ - unzip \ - vim \ - nmap \ - wget" - -ARG APT_MIRROR=http://mirrors.ustc.edu.cn - -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \ - sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list \ - && rm -f /etc/apt/apt.conf.d/docker-clean \ - && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ - && apt-get update \ - && apt-get -y install --no-install-recommends ${DEPENDENCIES} \ - && apt-get -y install --no-install-recommends ${TOOLS} \ && mkdir -p /root/.ssh/ \ && echo "Host *\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile /dev/null\n\tCiphers +aes128-cbc\n\tKexAlgorithms +diffie-hellman-group1-sha1\n\tHostKeyAlgorithms +ssh-rsa" > /root/.ssh/config \ && echo "set mouse-=a" > ~/.vimrc \ diff --git a/Dockerfile-ee b/Dockerfile-ee index 9594e1579..8e1c5b1dc 100644 --- a/Dockerfile-ee +++ b/Dockerfile-ee @@ -1,11 +1,78 @@ ARG VERSION FROM registry.fit2cloud.com/jumpserver/xpack:${VERSION} as build-xpack -FROM jumpserver/core:${VERSION} +FROM python:3.11-slim-bullseye as stage-build ARG TARGETARCH -COPY --from=build-xpack /opt/xpack /opt/jumpserver/apps/xpack +ARG VERSION +ENV VERSION=$VERSION WORKDIR /opt/jumpserver +ADD . . +RUN cd utils && bash -ixeu build.sh + +FROM python:3.11-slim-bullseye +ARG TARGETARCH + +ARG BUILD_DEPENDENCIES=" \ + g++ \ + make \ + pkg-config" + +ARG DEPENDENCIES=" \ + freetds-dev \ + libpq-dev \ + libffi-dev \ + libjpeg-dev \ + libkrb5-dev \ + libldap2-dev \ + libsasl2-dev \ + libssl-dev \ + libxml2-dev \ + libxmlsec1-dev \ + libxmlsec1-openssl \ + freerdp2-dev \ + libaio-dev" + +ARG TOOLS=" \ + ca-certificates \ + curl \ + default-libmysqlclient-dev \ + default-mysql-client \ + git \ + git-lfs \ + unzip \ + xz-utils \ + wget" + +ARG APT_MIRROR=http://mirrors.ustc.edu.cn + +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \ + sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list \ + && rm -f /etc/apt/apt.conf.d/docker-clean \ + && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ + && apt-get update \ + && apt-get -y install --no-install-recommends ${BUILD_DEPENDENCIES} \ + && apt-get -y install --no-install-recommends ${DEPENDENCIES} \ + && apt-get -y install --no-install-recommends ${TOOLS} \ + && mkdir -p /root/.ssh/ \ + && echo "Host *\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile /dev/null\n\tCiphers +aes128-cbc\n\tKexAlgorithms +diffie-hellman-group1-sha1\n\tHostKeyAlgorithms +ssh-rsa" > /root/.ssh/config \ + && echo "set mouse-=a" > ~/.vimrc \ + && echo "no" | dpkg-reconfigure dash \ + && echo "zh_CN.UTF-8" | dpkg-reconfigure locales \ + && sed -i "s@# export @export @g" ~/.bashrc \ + && sed -i "s@# alias @alias @g" ~/.bashrc \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=stage-build /opt/jumpserver/release/jumpserver /opt/jumpserver +WORKDIR /opt/jumpserver + +ARG PIP_MIRROR=https://pypi.douban.com/simple +RUN --mount=type=cache,target=/root/.cache \ + set -ex \ + && echo > /opt/jumpserver/config.yml \ + && pip install poetry -i ${PIP_MIRROR} \ + && poetry config virtualenvs.create false \ + && poetry install --only=main RUN --mount=type=cache,target=/root/.cache \ set -ex \ diff --git a/poetry.lock b/poetry.lock index 39b36a989..6cbdae8f2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2825,24 +2825,6 @@ type = "legacy" url = "https://pypi.tuna.tsinghua.edu.cn/simple" reference = "tsinghua" -[[package]] -name = "greenlet" -version = "2.0.2" -description = "Lightweight in-process concurrent programming" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -files = [ - {file = "greenlet-2.0.2-cp311-cp311-linux_loongarch64.whl", hash = "sha256:65f6e0520d2cad7b0d5c7486e050ffe4d1e3a83b6a9f214e9bb51b56fb3ba163"}, -] - -[package.extras] -docs = ["Sphinx", "docutils (<0.18)"] -test = ["objgraph", "psutil"] - -[package.source] -type = "url" -url = "https://download.jumpserver.org/pypi/simple/greenlet/greenlet-2.0.2-cp311-cp311-linux_loongarch64.whl" - [[package]] name = "grpcio" version = "1.56.2" @@ -2905,23 +2887,6 @@ type = "legacy" url = "https://pypi.tuna.tsinghua.edu.cn/simple" reference = "tsinghua" -[[package]] -name = "grpcio" -version = "1.56.2" -description = "HTTP/2-based RPC framework" -optional = false -python-versions = ">=3.7" -files = [ - {file = "grpcio-1.56.2-cp311-cp311-linux_loongarch64.whl", hash = "sha256:c1625d6e03b33927cedbd79d13d6caa07173b67245f04373b814b3ae7dc050a7"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.56.2)"] - -[package.source] -type = "url" -url = "https://download.jumpserver.org/pypi/simple/grpcio/grpcio-1.56.2-cp311-cp311-linux_loongarch64.whl" - [[package]] name = "grpcio-status" version = "1.56.2" @@ -5351,9 +5316,11 @@ files = [ {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:049f2e3de919e8e02504780a21ebbf235e21ca8ed5c7538c5b6e705aa6c43d8c"}, {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd86d8e3e346e34f3f03d12e333747b53a1daa74374a727f4714d5b82ee0dd5"}, {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:508226a0df7cb6faeda9f8e84e85743690ca427d7b27af9a73d75fcf0c1eef6e"}, + {file = "pymssql-2.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:47859887adeaf184766b5e0bc845dd23611f3808f9521552063bb36eabc10092"}, {file = "pymssql-2.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d873e553374d5b1c57fe1c43bb75e3bcc2920678db1ef26f6bfed396c7d21b30"}, {file = "pymssql-2.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf31b8b76634c826a91f9999e15b7bfb0c051a0f53b319fd56481a67e5b903bb"}, {file = "pymssql-2.2.8-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:821945c2214fe666fd456c61e09a29a00e7719c9e136c801bffb3a254e9c579b"}, + {file = "pymssql-2.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:cc85b609b4e60eac25fa38bbac1ff854fd2c2a276e0ca4a3614c6f97efb644bb"}, {file = "pymssql-2.2.8-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:ebe7f64d5278d807f14bea08951e02512bfbc6219fd4d4f15bb45ded885cf3d4"}, {file = "pymssql-2.2.8-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:253af3d39fc0235627966817262d5c4c94ad09dcbea59664748063470048c29c"}, {file = "pymssql-2.2.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c9d109df536dc5f7dd851a88d285a4c9cb12a9314b621625f4f5ab1197eb312"}, @@ -5369,11 +5336,13 @@ files = [ {file = "pymssql-2.2.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3906993300650844ec140aa58772c0f5f3e9e9d5709c061334fd1551acdcf066"}, {file = "pymssql-2.2.8-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7309c7352e4a87c9995c3183ebfe0ff4135e955bb759109637673c61c9f0ca8d"}, {file = "pymssql-2.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9b8d603cc1ec7ae585c5a409a1d45e8da067970c79dd550d45c238ae0aa0f79f"}, + {file = "pymssql-2.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:293cb4d0339e221d877d6b19a1905082b658f0100a1e2ccc9dda10de58938901"}, {file = "pymssql-2.2.8-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:895041edd002a2e91d8a4faf0906b6fbfef29d9164bc6beb398421f5927fa40e"}, {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6b2d9c6d38a416c6f2db36ff1cd8e69f9a5387a46f9f4f612623192e0c9404b1"}, {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63d6f25cf40fe6a03c49be2d4d337858362b8ab944d6684c268e4990807cf0c"}, {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c83ad3ad20951f3a94894b354fa5fa9666dcd5ebb4a635dad507c7d1dd545833"}, {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3933f7f082be74698eea835df51798dab9bc727d94d3d280bffc75ab9265f890"}, + {file = "pymssql-2.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:de313375b90b0f554058992f35c4a4beb3f6ec2f5912d8cd6afb649f95b03a9f"}, {file = "pymssql-2.2.8.tar.gz", hash = "sha256:9baefbfbd07d0142756e2dfcaa804154361ac5806ab9381350aad4e780c3033e"}, ] @@ -7244,4 +7213,4 @@ reference = "tsinghua" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "acdb324e0081968235e843be40803734f3ab814de44c90c4367fa0ef0801759d" +content-hash = "062b7b8ab32d3eeacc77b6b160764bc7083b599f32a653da3a1ccaa353041fc8" diff --git a/pyproject.toml b/pyproject.toml index 069fd91a4..3cc8c76b7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -103,11 +103,7 @@ django-proxy = "1.2.2" channels-redis = "4.1.0" python-daemon = "3.0.1" eventlet = "0.33.3" -# greenlet = "2.0.2" -greenlet = [ - { url = "https://download.jumpserver.org/pypi/simple/greenlet/greenlet-2.0.2-cp311-cp311-linux_loongarch64.whl", markers = "sys_platform == 'linux' and platform_machine == 'loongarch64'" }, - { version = "2.0.2", source = "tsinghua", markers = "platform_machine != 'loongarch64'" } -] +greenlet = "2.0.2" gunicorn = "21.2.0" celery = "5.3.1" flower = "2.0.0" @@ -142,13 +138,11 @@ pyhcl = "0.4.4" ipy = "1.1" netifaces = "^0.11.0" - [tool.poetry.group.dev.dependencies] daphne = "4.0.0" channels = "^4.0.0" channels-redis = "^4.1.0" - [tool.poetry.group.xpack.dependencies] qingcloud-sdk = "1.2.15" azure-mgmt-subscription = "3.1.1" @@ -156,11 +150,7 @@ azure-identity = "1.13.0" azure-mgmt-compute = "30.0.0" azure-mgmt-network = "23.1.0" google-cloud-compute = "1.13.0" -# grpcio = "1.56.2" -grpcio = [ - { url = "https://download.jumpserver.org/pypi/simple/grpcio/grpcio-1.56.2-cp311-cp311-linux_loongarch64.whl", markers = "sys_platform == 'linux' and platform_machine == 'loongarch64'" }, - { version = "1.56.2", source = "tsinghua", markers = "platform_machine != 'loongarch64'" } -] +grpcio = "1.56.2" alibabacloud-dysmsapi20170525 = "2.0.24" python-novaclient = "18.3.0" python-keystoneclient = "5.1.0" @@ -183,7 +173,6 @@ name = "tsinghua" url = "https://pypi.tuna.tsinghua.edu.cn/simple/" priority = "primary" - [[tool.poetry.source]] name = "PyPI" priority = "primary"