在 travis 上构建 webpack ci

Build webpack on travis ci

我想要 运行 通过此命令为生产构建 webpack:

"prod": "webpack -p --config webpack.production.config.js"

我的 .travis.yml 文件:

language: node_js
node_js:
  - "6.9.1"

install:
  - npm i -g yarn && yarn

before_script:
  - yarn prod

deploy:
  provider: s3
  local-dir: public
  on:
    branch: cloudfront

但是这个脚本没有加载正确的文件,我在产品站点上看到 ENV=dev

我也试过这些命令:

before_deploy

script

但是没用

webpack.production.config.js:

output: {
  path: path.join(__dirname, 'public'),
  filename: 'index.js',
  publicPath: '/'
},
new webpack.DefinePlugin({
 'process.env': {
   'BASE_URL': JSON.stringify('url'),
   'NODE_ENV': JSON.stringify('production')
 }
})

travis.log:

The command "npm test" exited with 0.
before_deploy
9.54s$ webpack -p --config webpack.production.config.js
Hash: 4aa1139f3ef3381f91ec
Version: webpack 1.13.2
Time: 9133ms
       Asset       Size  Chunks             Chunk Names
    index.js     176 kB       0  [emitted]  main
index.js.map  151 bytes       0  [emitted]  main
   [0] multi main 28 bytes {0} [built]
    + 255 hidden modules
dpl.2
Preparing deploy
dpl.3
Deploying application
uploading "index.html" with {:content_type=>"text/html"}
uploading "index.js.map" with {:content_type=>""}
uploading "index.js" with {:content_type=>"application/javascript"}
# HEAD detached at 8a81ecb
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   public/index.js
#
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (593621bc433e8223b3b5c32751122c23297b202e)
Done. Your build exited with 0.

即使您的 web pack 正在生成用于生产的捆绑包,这也不会改变您服务器上的环境。在哪里设置 ENV?

需要将此行添加到 .travis.yml:

skip_cleanup: true

对我有帮助