Я создал интеграцию 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?