jenkins - Jenkins Pipeline Artifacts (.NEXT) 始终在生产中
问题描述
我对前端 UI 技术不是很有经验,所以请原谅我这个简单化的问题。我正在建立一个 Jenkins 管道,并且对如何从 Jenkins 构建过程中获取基于环境的工件感到困惑。
我读过这个,这很有意义。
NODE_ENV 的值自动设置为开发(使用 npm start 时)、测试(使用 npm test 时)或生产(使用 npm build 时)。因此,从 create-react-app 的角度来看,只有三个环境。
我已经阅读了其他几篇文章/博客/等,但似乎没有任何效果。我的工件似乎总是生产配置。这是我尝试过的。
包.json
"scripts": {
"dev": "nodemon --exec \"next dev\" --watch ./pages/_app.tsx --watch ./next.config.js",
"build": "next build",
"build:dev": "SET NODE_ENV=development && npm run build --development --configuration=development",
"build:uat": "SET NODE_ENV=uat && npm run build",
"build:pro": "SET NODE_ENV=production && npm run build"
},
api.config.ts
interface ApiEndpoints {
[key: string]: string;
development: string;
uat: string;
production: string;
}
const env = process.env.NODE_ENV || 'development';
const apiEndpoints: ApiEndpoints = {
development: 'https://localhost:44332/graphql',
uat: 'https://uatserver:44332/graphql',
production: 'http://prodserver:44332/graphql',
};
const ApiEndpoint = apiEndpoints[env];
export default ApiEndpoint;
Windows 10 与代码我从 bash 提示符运行以下命令:
npm 运行构建:开发
这将执行并创建一个 .NEXT 文件夹。然后我将 .NEXT 文件夹移动到测试服务器并运行
npm 运行开始
并且服务器启动但是在浏览时它总是有生产设置所以它看起来我的构建参数不起作用?
因此,我希望拥有特定于管道推送到的环境的构建工件 (.NEXT) 文件夹。
这是可行的吗?如果是这样,我错过了什么?如果不是,我有什么选择?
是的,这与NPM Run Build Always Builds Production 和 Never Development类似,但那篇文章对我来说还不够清楚。
TIA
解决方案
推荐阅读
- javascript - 获取 php 页面时返回 CORS 错误的函数
- matplotlib - 在栏的末尾设置值
- r - 如何创建具有系统发育校正的多元线性模型?
- javascript - 用于woocommerce的css中的自定义边框
- node.js - 使用 sinon 对 express.js 路由进行单元测试
- c# - 有没有办法检测音频输入并在检测到时将bool设置为true,否则不会
- import - 我正在尝试使用下载和使用pygal来学习数据科学可视化
- javascript - 如何使用 Startswith 等分别检查字符串的两个单词并在 Javascript 中对其进行过滤
- python - 优化自定义函数时使用 Pyomo/Ipopt 获得的错误
- c - 强大的互斥锁不适用于共享内存