2016-10-22 6 views
3

Я хочу, чтобы запустить WebPack построить для производства с помощью этой команды:Построить WebPack на Travis CI

"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/[email protected]{0} (593621bc433e8223b3b5c32751122c23297b202e) 
Done. Your build exited with 0. 

ответ

4

нужно добавить эту строку в .travis.yml:.

skip_cleanup: true 

Это помогло мне

0

Даже если ваш веб pack производит комплект для производства, который не меняет en vironment на вашем сервере. Где установлен ENV?

+0

в WebPack файлов в 'новой webpack.DefinePlugin ({' Если я запускаю эту команду на локальном компьютере, все работает нормально – Meldum

+0

Webpack устанавливает только «среду», когда он создает ваш пакет.js. При запуске на вашем сервере среда может быть чем-то, что хочет сервер. Поэтому, когда он обслуживает ваше приложение, если он устанавливает ENV в dev, это то, что ваша среда покажет. –

+0

Я делаю сборку на ci с параметром '-p', поэтому в конфигурации для производства я устанавливаю эту переменную – Meldum

Смежные вопросы