Значок Github Oauth для Golang

Мы используем развертывание кода AWS для развертывания проектов Github в экземплярах Ec2 каждый раз, когда он развертывает его, запрашивает имя пользователя и пароль Github для загрузки репозитория. Найдено следующие способы решения этой проблемы.

  • Поместить Uname и Pwd (не рекомендуется)
  • Установить SSH-ключ (невозможно, поскольку экземпляр продолжает изменять ip)
  • Значок Oauth

Настройка Oauth для репозитория PHP была выполнена путем добавления его в композитор auth.json.composer/auth.json.

{
    "http-basic": {},
    "github-oauth": {"github.com": "xyzasasasauhu"}
}

Но не удалось найти способ сделать это для проекта Golang. Обычно мы хотим добиться перехода https://github.com/username/reponame без явного указания учетных данных.

+6
источник поделиться
1 ответ

Существует два решения этой проблемы:

  • Не развертывайте код. Go - статически скомпилированный язык программирования. Нет необходимости иметь исходный код Go на сервере, на котором вы собираетесь запускать программу Go.
  • Не используйте go get, чтобы получить код для вашего частного репозитория GitHub. Пока код заканчивается в правильном подкаталоге ($GOPATH/src/github.com/org/project), Go не заботится о том, как он туда попал. Просто добавьте в свою сборку script несколько команд:

    DIR=$GOPATH/src/github.com/org/project
    TOKEN=yourtoken
    
    if [ -d $DIR ]; then
      cd $DIR
      git reset --hard  
      git clean -dfx
    else
      mkdir -p $DIR
      cd $DIR
      git init  
    fi
    
    git pull https://[email protected]/org/project.git
    
+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос