Для GitLab
создайте файл .gitlab-ci.yml
в корне приложения rails.
Поскольку вы используете Capistrano
, вы хотите быть уверены, что ruby предустановлен
Добавить image: ruby:2.3
в файл .gitlab-ci.yml
Далее нам нужно установить Capistrano
при развертывании
Добавьте это к своему .gitlab-ci.yml
stages:
- deploy
deploy_application:
stage: deploy
script:
- gem install capistrano
Однако это становится рискованным, потому что Capistrano
требует ssh для развертывания на вашем сервере. Желательно, чтобы вы использовали ssh-agent. Следовательно, мы снова изменим .gitlab-ci.yml
, чтобы он выглядел следующим образом
image: ruby:2.3 #your_ruby_version
stages:
- deploy
deploy_application:
stage: deploy
script:
- which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
- eval $(ssh-agent -s)
# add ssh key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo -e "$SSH_PRIVATE_KEY")
- gem install capistrano