Как запустить сборку на удаленном сервере с помощью Git? - PullRequest
0 голосов
/ 06 июля 2019

Я хочу автоматически / вручную, когда новый код попадает в ветку dev на моем удаленном репозитории GitHub, чтобы его можно было извлечь из моего удаленного сервера, собрать и запустить.

Я знаю GitHub Webhooks, но они толькоразрешить URL, которые будут скручены.Для этой задачи я могу заставить сервер узла на моем удаленном хосте прослушивать эти HTTP-запросы.Но мне интересно, есть ли лучший подход, используя вместо этого Git.

Я думал о настройке другого пульта, который будет называться «staging» или «production», помимо «origin», которым является GitHub, и каждыйКогда источник Github получает новое извлечение к ветви dev, он продвигает его вперед к «промежуточным» / «производственным» пультам.

Я искал много статей там, но не нашел ничего, что действительно описываетвесь процесс, с нуля.

1 Ответ

0 голосов
/ 07 июля 2019

Попробуйте использовать инструменты непрерывного развертывания ( CI ), такие как ( gitlab CI, Drone и т. Д. ), если вам нужно просто перенести свои изменения на производственный сервер. Попробуйте использовать Capistrano .

Самым простым решением для меня является использование FABRIC , и вы можете создать свой код. Пример:

  • Установка ткани
  • Создать файл fabfile.py
  • Поместите этот код внутрь и замените все переменные (user_ssh, / path_to_project, ip_server)

    from fabric.api import env , run , put
    
    prod_env = {
      'name' : 'prod' ,
      'user' : 'user_ssh',
      'deploy_to' : '/path_to_project',
      'hosts' : ['ip_server'],
    }
    
    def set_config(env_config):
      for key in env_config:
         env[key] = env_config[key]
    
    def prod():
      set_config(prod_env)
    
    
    def deploy():
      run("cd %s && git pull -r",env.deploy_to)
      run("You command to build and run")
    

Теперь запустите:

fab prod deploy

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...