作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Azure DevOps 设置 CI/CD 管道,以自动将 React 应用程序部署到多个环境。据我了解,环境变量 (REACT_APP_*) 在 npm 构建期间使用。如何设置构建阶段而不为每个环境创建步骤?
我正在使用新的 ASP.Net Boilerplate带有 React 前端的项目。
.
这是我现在所拥有的
我在 package.json 中复制了构建任务以允许多个环境
"scripts": {
...
"build": "set REACT_APP_ENV=production && react-app-rewired build --scripts-version react-scripts-ts",
"builduat": "set REACT_APP_ENV=uat && react-app-rewired build --scripts-version react-scripts-ts",
...
}
然后在我的 CI 管道中,我复制了构建任务
- script: yarn builduat
displayName: '[UAT] Yarn build front-end'
workingDirectory: $(WorkingDirectoryReact)
- script: yarn build
displayName: '[PROD] Yarn build front-end'
workingDirectory: $(WorkingDirectoryReact)
我不想为每个环境重复一些事情,那么理想的解决方案是什么?我真的不想在 CD(部署阶段)期间构建解决方案
最佳答案
我最终编写了一个 PowerShell 脚本来替换构建工件中的内容。
所有详细信息都可以在那里找到:https://github.com/Thibaultce/react-azuredevops-buildonce-deploymany
关于reactjs - 如何将 React 应用程序部署到多个环境而无需多次构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56966132/
我是一名优秀的程序员,十分优秀!