Здравствуйте. Подскажите пожалуйста. У меня сейчас настроен в Travis деплой по ssh с ветки Master, все работает отлично. Но вот возникла потребность, уже сначала деплоить на сервер для тестов, вот например при коммите в ветки Development что бы деплоило на один сервер, при коммите в ветки Master на другой сервер.
Вот к примеру у меня сейчас такой файл.
.travis.yml
language: node_js
env:
SSH_USER: root
DEPLOY_PATH: /root/coffee/coffee
SERVICE_NAME: coffee
sudo: false
node_js:
- node
git:
depth: false
branches:
only:
- master
cache:
directories:
- node_modules
before_install:
- openssl aes-256-cbc -K $encrypted_<key>_key -iv $encrypted_<key>_iv -in ./.travis/id_rsa.enc -out ./.travis/id_rsa -d
- eval "$(ssh-agent -s)"
- chmod 600 ./.travis/id_rsa
- echo -e "Host $SSH_HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts
- ssh-add ./.travis/id_rsa
install:
- npm install
script:
- echo "npm test temporarily disabled"
- npm run build
deploy:
provider: script
skip_cleanup: true
script: bash -c '
rsync --recursive --quiet --delete-after dist/* $SSH_USER@$SSH_HOST:$DEPLOY_PATH
&& ssh root@$SSH_HOST "systemctl restart $SERVICE_NAME"'
on:
branch: master