【发布时间】:2022-09-22 21:41:58
【问题描述】:
我有一个应用程序运行响应作为前端和节点作为后端代码。在 react public 文件夹中,我们有一个包含版本号的 meta.json,每次我们运行 npm run build 时,它都会更新该文件中的版本号。我们使用这种方法来确保网站始终显示新的发布版本,在数据库中我们也会更新版本号,如果两者不匹配,网站会自动加载新版本。
我们正在转向 Kubernetes,现在我遇到的问题是我们有一个 Dockerfile 用于反应,其中我们有以下步骤
FROM node:12.18.3 AS build
ENV CI=false
ENV WDS_SOCKET_PORT=0
WORKDIR /app
COPY [\"package.json\", \"package-lock.json\", \"./\"]
RUN npm install --production
COPY . .
RUN npm run build:development
FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
COPY --from=build /app/nginx-custom.conf /etc/nginx/conf.d/default.conf
我们在 azure 管道中使用此 Dockerfile 并使用它构建映像并将该 docker 映像推送到 Azure 容器注册表,并使用 kubectl restart 拉取该映像并在 AKS 中重新启动部署。在 npm run build 从 Dockerfile 之后,我的 meta.json 文件将更新版本,我想提交并将更改的文件推送到 azure repo,以便下次运行管道时它将更新版本号。
我已经在这个项目上完成了我的 POC,但找不到任何易于遵循的步骤, 我遇到了这个 repo https://github.com/ShadowApex/docker-git-push 但不清楚如何正确执行这个 repo,任何帮助将不胜感激。
标签: git docker azure-pipelines azure-aks azure-repos