
Jaka tam nowa era...
Postawiłem GitLab CI jako dodatek z Gitlab Omnibus. Poszło gładko

Poprzeglądałem trochę wytyczne dot. .gitlab-ci.yml
Jednak zastanawiam się jak wykonać deployment.
Założenie jest takie:
- Robię commit do Master (tu ok)
- odpalają się testy (tu ok)
- Powinien się odpalić git-ftp i wysłać zmiany na serwer FTP (tu też ok)
- Muszę odpalić na serwerze po SSH kilkanaście komend które m.in. aktualizują BD, optymalizują autoloadery itp.
Pytanie:
Jak rozwiązać taki deployment. Problemem jest połączenie się po SSH do serwera.
Czy jedynym wyjściem jest utworzenie klucza RSA dla gitlab-runner i wyeksportowanie go nas serwer?
Obecnie skrypt wygląda tak:
Kod
deploy_on_serwer:
script:
- git ftp push --user SUPER_USER --passwd &ssh_password ftp://superserwer.pl/domains/domain.pl
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/composer install --no-scripts --no-dev -o
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan migrate --force
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan clear-compiled
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan optimize
stage: deploy
only:
- develop
script:
- git ftp push --user SUPER_USER --passwd &ssh_password ftp://superserwer.pl/domains/domain.pl
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/composer install --no-scripts --no-dev -o
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan migrate --force
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan clear-compiled
- ssh SUPER_USER@superserwer.pl/usr/local/php56/bin/php /home/SUPER_USER/domains/domain.pl/artisan optimize
stage: deploy
only:
- develop