Настройка репо на сервере для обновления кода с GitHub

Действия на сервере для возможности git pull кода с GitHub

  1. Создать SSH ключ для деплоя:
    ssh-keygen -t ed25519 -C "deploy-key-project-name" -f ~/.ssh/deploy_key
    
  2. Добавить ключ в SSH конфиг:
    cat >> ~/.ssh/config << EOF
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/deploy_key
    EOF
    
  3. Настроить git репозиторий:
    cd ~/project-name
    git remote set-url origin git@github.com:username/project-name.git
    
  4. Добавить публичный ключ в GitHub:
    • Скопировать содержимое cat ~/.ssh/deploy_key.pub
    • В репозитории: Settings → Deploy keys → Add deploy key
    • Вставить ключ и сохранить
  5. Выполнить первый git pull вручную
    • Ответить yes на вопрос:
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    

После этих действий можно беспрепятственно выполнять git pull как вручную, так и через любые средства автоматизации. При этом не придётся "светить" на сервере данные личной учётки GitHub.

Deploy Key по умолчанию read-only, поэтому не получится случайно по ошибке что-то запушить в репозиторий с сервера.

Отправить сообщение

С помощью формы ниже, вы можете связаться с автором сайта. Пожалуйста, укажите ваш ник в Телеграме или e-mail, чтобы я смог вам ответить!