From 809ea7b0866ebb766bd9e32c8b07ec66190e5b52 Mon Sep 17 00:00:00 2001 From: jingrow Date: Thu, 26 Jun 2025 10:31:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0jcloud/jcloud/docker/Dockerfi?= =?UTF-8?q?le=E6=94=AF=E6=8C=81=E6=B8=85=E5=8D=8Epip=E6=BA=90=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=87=8D=E8=AF=95=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dashboard/public/favicon.png | Bin 1667 -> 1538 bytes dashboard/src/assets/jerp-logo.svg | 174 ++++++++- dashboard/src/assets/jingrow-cloud.svg | 166 +++++++- .../src/assets/jingrow-framework-logo.png | Bin 5053 -> 6698 bytes dashboard/src/components/icons/JLogo.vue | 356 ++++++++---------- jcloud/docker/Dockerfile | 7 + jcloud/public/images/jingrow-cloud-logo.png | Bin 2391 -> 0 bytes jcloud/public/images/logo.png | Bin 27127 -> 0 bytes jcloud/translations/zh.csv | 2 +- 9 files changed, 493 insertions(+), 212 deletions(-) delete mode 100644 jcloud/public/images/jingrow-cloud-logo.png delete mode 100644 jcloud/public/images/logo.png diff --git a/dashboard/public/favicon.png b/dashboard/public/favicon.png index 2b96fed3065eeec4c5dbe3b8b22c7281898b3b14..b0b9c6b5077bc4c2ba1d39b62ad16761c7448d33 100644 GIT binary patch delta 1521 zcmVtMmo^$3u|Cu>62Y>$0B5nUQ6E2+gOpY2y z_t<;VaDG(i-Xk139S~W^S~ld~lft`PJ6bV7hPCfc-|w-W4G&8i_6oAuG-xo@2p=ne zm^l$~4FXjSoDhNr#KhyA2^z3ah;x-p?2=8+J@=*zPcSs(7#`LImC~ww$E6dWv(DV} zt|QlLS-{jl1b+d{mS%W_c}*~&=yC+J6%G}^0Es^M7go!ocJHg~7-D@ooG3J6YLB z;#Q1D@Zu!aa+11@g{^}79)fYp`FVF0Hh=R`( zyO^KuJi-rp4=|CIh}us@oH$E@DR!_~XMMB`s{oj7K}|4QL3|{RiL}Ibx9#KUonJ>J z=H=;e{(m+z4tUP=9pQ()2iF9FnV9i``pd9EOBRUWo4x1|5b!uA(m5X8zMm)ij)26x zG(E~gW9I<)&F*irf72e$^nC>|etF|Xdg2Wz3dZu-XfbWooHt-z6Xrw0jbw($wjbch zoku}(T$;YhBV*^NXhKyJ9vM5w#p$a+%$dHga(|-tAUBg4${}H1lSS(>!;8yF9mq-s zn#Cgw7Viaw&u`w%6CeHp5I2-ROHDHdiuVFATE59Q#-3%Q{}_ih5Au^8UuH{G^v@-_7513Q!;e;7eD2&fjOR>4svLqn2H{cK_MI1*f!Oz;NOy zYr>7%6oQhN@#6IB4FBg31eBaabov~5i2$L~=ZM842;Uihjvs&Y77uLNO~E+=Fs~_# ziPf@ItN@@G9WLf-`6h>6d5TCpC9UyJT7RPG^2Ckza!4A%Wt2n0T&U9J@}vY#yzyJ^ ziMrU}^JEsNXhw%bD7GT#R*iv3gsNqjrhKHZg^zb`Cs;rbs+zL1V=L0|V1MTaiNsNG zF^1vAGnZ9(t9BbFf)~Ne+Lqo`0f1np+!J^4=Yf+Hqas*fSsqycV5I+BP4f)IGk=%P zvH#VdaVxDLB1=KIegJhzEpRiLVXGO|V4!ZLW1}wsFq@SL4GRrJBw`|&B~@K}@wEUf zD47dYzWC2yk#iB4;SlC6rN5(x-+$sU03IG2VZ8D-of6mMLWG)TR5Yp6zs5#%M+O|i zd`KvT+S0ow%*2(&F*Dgbx6(3Imw#K_^&Enewhh-ZU)&J@fEU3x;@2U>;)%pBEh3({ zaW8GVEnXKfL?5T_VUL-O@J0*C!1Ih8hLRO)pfbJ1I{s;9U;y@}!OQTnB0sm;vDYQGW*u3|zng zD%b^b(F0maRGhSBLoxC$;(F~i$HzwixL&(W-bL+u!iJcdx?JRaMK1!-y{BO`G)kn< zclk%%AqrQd5cOy|Nd)n$8D<8hPz9jN=aKd)x73t&A0iE_S_I%56>2Wn+OaFKM=RNNEma?U>%cGCwB;=zcKz{Ww{0tY6V=a# zEELW3T}7FRSR6%VB7fQ6&VK#+;ispXm9H}E{XLqk?{Ip4RPO4KdVX~Ix_5OreV^rj XEv>Y$=dJ3_00000NkvXXu0mjfk8-u8^_HTx z0*6bB+7QxIxEDp@0TCrNO%oyU2Cvx&M!?$bi+Pe-21ZOqc+1Z)%|IdHUoSA|Dvwum;Rz(=>wQOFkoIkDr zT<8;Ssny%s05H`2d-Db1{FpHKa*A-B@c;t@rjea#U}>&XWZsy1y_N4qjOGqQL;fQ_ zd1S>@N3z>{z0YD-CQ0fepQIf&3{*Xcs1;+3WW&8?6N}O$K@ca_c=bLdO}oO5vKl?T zt|ZU>Y5xo3b$^V71ZsaQ`SC;dmvizPADZ==dhiM&2%zZf5F>(*E1+P)4!rju&GX5| zfH;GV{K(SCJbrEe$=4c5WFr(o;O1ZKUi;T%{9F>6l~PV(P}3|@M!*_FQZ2H1%|@&k z&b|LZPx1R%BA8R17 z(2b}{s%bX>$BugdHwPhDV;v;aM;kHORuV&0x<>z9kMgt6><0o~89mDvUN{86OFO?q z??>HiNCMT*hxNzD`9w z?|)2;kk(X?c@oUlEr#&t51*?#zr`13{I;9!Hm4r_ArJ#0054zuJv&YeGE*(Gp=UjR z+5J-hHval)E=^n}A9gal;}D;}@!p!(7%<#-{2;GgKIhGnC8i@WZ%6$v-j_AZ;A+lw`pnWzHgNeDW?1`wB-iOaRj2s2Tcv|5BPPa&?b z@1^fS=W>>Yc@m#cPO6B@)q>G1PGD99F_e-BRQbg6bu3%;aZ*hYz^5@AmaogwCx3AJ z$_?BQ|q9PY3uYee&o>p2U%0&nWsAqLoH|L-H5xHO~kTMrG3O)f~c*nPz z+i?`5Nj~Yb-Z}c>ty=)1*Elr+CB! zd{~?yPSfo4SmYMamVl}vVwk8DxPSfFH_6!mR52o?NyNsU^}OEqeE=RD9^&1J5v&Vq zN3&4%F~zu&&AvhV`T22C1t43BVqB&em1+$Jk}4C`0`=2zqFUfuWeQve)U%$*+}byw z>%7IdE&%`|c9yykLuwL&+7<+G#v#UGjcZD~+8lK%B2<$&^7#4{KwYh;q<`WyO5;eZ zfqC)T=tygyy3_!wezsj(h5BNXYy9C=waqoPjn%=VgtM?gyw*$|+53J+^>$-ca>+Z4A)UQ@*ZJG}(%W{GB`fT@5)14RlpC4mz zK&xtqvV`9)9zui x(B?hO{!?r6aowj`-5MXK{|)=M9;g3f`zJur&#T6sfnERr002ovPDHLkV1m#*F-QOa diff --git a/dashboard/src/assets/jerp-logo.svg b/dashboard/src/assets/jerp-logo.svg index 814abff..8ca7b42 100644 --- a/dashboard/src/assets/jerp-logo.svg +++ b/dashboard/src/assets/jerp-logo.svg @@ -1,12 +1,162 @@ - - - - jerp-logo - Created with Sketch. - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/dashboard/src/assets/jingrow-cloud.svg b/dashboard/src/assets/jingrow-cloud.svg index 2947f78..8ca7b42 100644 --- a/dashboard/src/assets/jingrow-cloud.svg +++ b/dashboard/src/assets/jingrow-cloud.svg @@ -1,4 +1,162 @@ - - - - + + + + + + + + + + + diff --git a/dashboard/src/assets/jingrow-framework-logo.png b/dashboard/src/assets/jingrow-framework-logo.png index 5049078a460b834a07ec893b6554b26cfaf38c17..74e327bac3850d32c5ba98dd654226d731b900eb 100644 GIT binary patch literal 6698 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

8ndHa)# z8U3)>h@fqw;njPGy#tru@%UOl`x(#krbv6XI~}whsv1ZpVKFl472NeNUU~bI>>c(N zLwsnJ{R$$zqsl&D))J(GE4TjStG_JPd}EyA$MFP;A?k-tqGK~^XAnN{=xx{br!u!5*WyRj z$~yG~=NuZi_$3X?%J$Y;NYs9{0!A>_BEBOimR|4i(vPo^-XA=C$=C095Dl)OQP=9z z=G!;^B5B|NwZOIS-O+dSwfCf^Wy(^|l#f`^x~ zD10F{{l{e)5Vv^O&+Pg*ruA!4MMaQu*_4lvRYd}8j3h8eR;T(7^(8XTA1@Uj97_a` zJhye%#B_Eon(yn@y&aiWVPwei?5MJ9##(3qi^V5o@MpuxOkusApMGn)F3$p6DzbRC z;_odrX=>9}qW0d)h4l(hSypY@dSy4tzfqYy2MpFP8(=E^maN@^+YfG-oqSWoLG`Pp z85y!ez-XHYzw}U*Asw;o9rog&g)U|wj0{=!4tql*Lzen)m~B(RCl{Ud{*$p8QV07*qoM6N<$f;|le AaR2}S literal 5053 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 - - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/jcloud/docker/Dockerfile b/jcloud/docker/Dockerfile index b13de81..542fb37 100644 --- a/jcloud/docker/Dockerfile +++ b/jcloud/docker/Dockerfile @@ -184,6 +184,9 @@ RUN --mount=type=cache,target=/home/jingrow/.cache,uid=1000,gid=1000 npm install ENV PATH "$PATH:/home/jingrow/.local/bin" RUN wget https://bootstrap.pypa.io/get-pip.py && python${PYTHON_VERSION} get-pip.py `#stage-pre-pip` +RUN python${PYTHON_VERSION} -m pip install --upgrade pip `#stage-pre-pip-upgrade` +RUN python${PYTHON_VERSION} -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple `#stage-pre-pip-mirror` +RUN python${PYTHON_VERSION} -m pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn `#stage-pre-pip-trusted` ENV {{ pg.get_dependency_version("bench", True) }} RUN --mount=type=cache,target=/home/jingrow/.cache,uid=1000,gid=1000 python${PYTHON_VERSION} -m pip install --upgrade --resume-retries 5 --timeout 100 git+http://git.jingrow.com:3000/jingrow/bench.git `#stage-bench-bench` @@ -203,6 +206,10 @@ ENV {{v.key}} {{ v.value }} {% endfor %} # Install Jingrow app +ENV PIP_RETRIES=10 +ENV PIP_TIMEOUT=300 +ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple +ENV PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn RUN --mount=type=cache,sharing=locked,target=/home/jingrow/.cache,uid=1000,gid=1000 --mount=type=bind,source=apps/jingrow,target=/home/jingrow/context/apps/jingrow bench init --python /usr/bin/python${PYTHON_VERSION} --no-backups --jingrow-path file:///home/jingrow/context/apps/jingrow jingrow-bench `#stage-apps-jingrow` WORKDIR /home/jingrow/jingrow-bench diff --git a/jcloud/public/images/jingrow-cloud-logo.png b/jcloud/public/images/jingrow-cloud-logo.png deleted file mode 100644 index 56a0d2558992a53584f66ef06da0cc92bbab4ebf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2391 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