fix(web): 修复双垂直滚动条并优化Docker构建缓存策略

- MainLayout: 为侧边栏添加 overflow:hidden,避免 el-aside 默认
  overflow:auto 在菜单内容较多时产生第二条垂直滚动条
- Dockerfile.tenant: 将 COPY 源码移至 yarn install 之后并引入
  GIT_COMMIT ARG,确保每次提交都重新构建源码层,防止 --cache-from
  错误复用旧层导致更新未生效
- Jenkinsfile: 传入 GIT_COMMIT 构建参数;新增 NO_CACHE 参数,缓存
  异常时可强制全量重建

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-11 15:11:43 +08:00
父节点 90c9705ff1
当前提交 58f7fb4a44
共有 3 个文件被更改,包括 12 次插入3 次删除

查看文件

@ -4,14 +4,17 @@ WORKDIR /workspace
COPY package.json ./package.json
COPY yarn.lock ./yarn.lock
COPY tenant-platform ./tenant-platform
COPY docs-site ./docs-site
ENV YARN_CACHE_FOLDER=/var/cache/yarn
RUN --mount=type=cache,target=/var/cache/yarn,sharing=locked \
yarn install --frozen-lockfile
# GIT_COMMIT invalidates source-code layers on every commit, without re-running yarn install
ARG GIT_COMMIT=unknown
COPY tenant-platform ./tenant-platform
COPY docs-site ./docs-site
ARG TENANT_APP_BASE=/
ARG TENANT_API_BASE_URL=/api

7
Jenkinsfile vendored
查看文件

@ -5,6 +5,7 @@ pipeline {
choice(name: 'APP', choices: ['tenant-platform', 'ops-platform'], description: '要构建的 Web 应用')
string(name: 'IMAGE_TAG', defaultValue: 'latest', description: '镜像 Tag')
booleanParam(name: 'DEPLOY', defaultValue: true, description: '构建后是否自动部署')
booleanParam(name: 'NO_CACHE', defaultValue: false, description: '禁用 Docker 构建缓存(缓存错误时使用)')
}
environment {
@ -63,10 +64,14 @@ pipeline {
withCredentials([string(credentialsId: 'ACR_PASSWORD', variable: 'ACR_PASS')]) {
script {
def fullImage = "${env.ACR_REGISTRY}/${env.ACR_NAMESPACE}/${env.IMAGE_NAME}:${params.IMAGE_TAG}"
def cacheArgs = params.NO_CACHE
? '--no-cache'
: "--build-arg BUILDKIT_INLINE_CACHE=1 --cache-from ${fullImage}"
def gitCommit = env.GIT_COMMIT ?: 'unknown'
bat """
docker login ${env.ACR_REGISTRY} -u ${env.ACR_USERNAME} -p %ACR_PASS%
docker pull --platform=linux/amd64 ${fullImage} || echo Pull failed, will build fresh
docker build --platform=linux/amd64 -f ${env.DOCKERFILE} ${env.BUILD_ARGS} --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from ${fullImage} -t ${fullImage} . || exit /b %ERRORLEVEL%
docker build --platform=linux/amd64 -f ${env.DOCKERFILE} ${env.BUILD_ARGS} --build-arg GIT_COMMIT=${gitCommit} ${cacheArgs} -t ${fullImage} . || exit /b %ERRORLEVEL%
docker push ${fullImage} || exit /b %ERRORLEVEL%
docker rmi ${fullImage} || exit 0
"""

查看文件

@ -184,6 +184,7 @@ onBeforeUnmount(() => {
background: #1d2129;
flex: 0 0 220px;
box-shadow: 8px 0 24px rgba(15, 23, 42, 0.08);
overflow: hidden;
}
.logo {
height: 60px;