Я устанавливаю версию узла на 10.15.1
с nvm
, и на следующем run
шаге он возвращается к 6.1.0
. Я пробовал несколько вариантов, включая этот: https://www.cloudesire.com/how-to-upgrade-node-on-circleci-machine-executor/
Я что-то упускаю из виду? Мне просто нужен каждый шаг run
, чтобы запомнить версию узла, которую я установил в первом, чтобы они все использовали 10.15.1
в этом случае.
Вот работа в моем рабочем процессе:
dev:
environment:
BASH_ENV: run/env/test/.env
machine:
image: circleci/classic:latest
steps:
- checkout
- run:
name: Install node@10
command: |
set +e
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
export NVM_DIR="/opt/circleci/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 10
nvm alias default 10
rm -rf ~./node-gyp
node -v # prints 10.15.1 as expected
- run:
name: Install yarn and rsync
command: |
node -v # prints 6.1.0
export NVM_DIR="/opt/circleci/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
node -v # prints 6.1.0
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn rsync
- run:
name: Install node modules
command: |
node -v # prints 6.1.0
yarn install # this is what is failing because of the unexpected node version
- run:
name: Deploy to Dev Server
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then rsync -arhvz --exclude .git/ -e "ssh -o StrictHostKeyChecking=no" --progress \
./ ubuntu@xxx.xxx.xxx.xxx:/var/www/xxx/xxx/; fi
if [ "${CIRCLE_BRANCH}" == "master" ]; then ssh -o StrictHostKeyChecking=no ubuntu@xxx.xxx.xxx.xxx 'cd /var/www/xxx/xxx && pm2 restart all --update-env'; fi