Как исправить тайм-аут сборки SSH Webpack на CI / CD (Gitlab) - PullRequest
1 голос
/ 17 апреля 2019

Я создал интеграцию CI / CD с Gitlab и продолжаю тратить время на окончательную компиляцию веб-пакета и ресурсов при запуске через CI / CD.

Это для экземпляра AWS Linux 16.04 t2.small, и мне любопытно, если это проблема с памятью / процессором, хотя, похоже, он прекрасно компилируется, если я SSH подключаюсь к серверу и запускаю cmd напрямую.

deploy.sh

#!/bin/bash
set -e

echo "Deploying to $DEPLOY_SERVER"

# Once inside the server, run updateAndRestart.sh
ssh -tt -o "StrictHostKeyChecking no" ubuntu@$DEPLOY_SERVER 'bash' < ./config/updateAndRestart.sh

updateAndRestart.sh

#!/bin/bash
set -e

# Delete the old repo
rm -rf /home/ubuntu/deploy/application/client

# clone the repo fresh
git clone git@gitlab.com:repo/repo.git /home/ubuntu/deploy/application/client

# enter the new repo
cd /home/ubuntu/deploy/application/client

# install npm packages
echo "Running npm install"
npm install

# let resources recover
sleep 10s

echo "Running npm run build"
# build the new package
node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js --env=production

Я добавил метод сна, думая, что может быть некоторая проблема с npm install накоплением ресурсов и перемещением слишком быстро, хотя это не решило проблему. Он добирается до этого последнего шага просто отлично, затем время ожидания:

ubuntu@host:~/deploy/application/client$ node --max_old_spa
<-157:~/deploy/application/client$ node --max_old_spac                         e_size=4096 ./node_module

<ient$ node --max_old_space_size=4096 ./node_modules                         /webpack/bin/webpack.js -

<_size=4096 ./node_modules/webpack/bin/webpack.js --                         env=productionPulling docker image gitlab/gitlab-runner-helper:x86_64-10efa505 ...
ERROR: Job failed: execution took longer than 10m0s seconds

Не совсем уверен, что gitlab-runner-helper снова запустится, но именно так и происходит, когда время истекает.

Обычно при запуске сборки cmd node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js --env=production запрашивает более подробную информацию, например

Building in:  production
clean-webpack-plugin: /home/ubuntu/deploy/application/client/public/*.js has been removed.
ℹ 「atl」: Using typescript@2.9.2 from typescript
ℹ 「atl」: Using tsconfig.json from /home/ubuntu/deploy/application/client/tsconfig.json
ℹ 「atl」: Checking started in a separate process...
ℹ 「atl」: Time: 1319ms

, который я никогда не вижу при запуске из SSH. Могу ли я что-нибудь сделать, кроме как обновить мой размер ec2? Почему это работает напрямую через SSH, но при этом возникают проблемы с CI / CD Gitlab?

...