2016-08-23 6 views
1

AWS документации описано, как проверить подлинность Github с помощью браузера, и что вы в настоящее время вошли в Github как действительный пользователь с правами на хранилище вы хотите развернуть из:Подключить AWS CodeDeploy к Github без использования моего пользователя Github?

http://docs.aws.amazon.com/codedeploy/latest/userguide/github-integ.html#github-integ-behaviors-auth

Есть ли способ установки CodeDeploy без привязки моего пользователя и наличия браузера? Я бы хотел сделать это с помощью webhooks в каждом репозитории и вызовах AWS API, но я сделаю «сервисного пользователя Github», если это необходимо.

Других примеров: http://blogs.aws.amazon.com/application-management/post/Tx33XKAKURCCW83/Automatically-Deploy-from-GitHub-Using-AWS-CodeDeploy

Я хотел бы использовать webhooks на моем репо, или установить их самостоятельно, чем разрешение AWS доступ к каждому хранилищу на моем счете Github.

ответ

1

В настоящий момент не существует альтернативы выполнению потока OAuth в вашем браузере. Если вы заинтересованы в том, чтобы открыть всю вашу учетную запись Github до Amazon, создание пользователя службы, вероятно, является наилучшим подходом, к сожалению, кажется, что этому пользователю по-прежнему нужен административный доступ к вашим репозиториям для настройки интеграции.

-2

Вы можете сделать это с помощью этой bash команды

с локального на удаленный

rsync --delete -azvv -e "ssh -i /path/to/pem" /path/to/local/code/* [email protected]:/path/to/remote/code

с удаленного на локальный

rsync --delete -azvv -e "ssh -i /path/to/pem" [email protected]:/path/to/remote/code/* /path/to/local/code

rsync проверки версий файлов и обновляет файлы которые должны быть обновлены

+0

Вы уверены, что вы ответили на правильный вопрос? – Martin

+0

Да. Он попросил развернуть без пользователя github –

+0

Я спросил, как использовать продукт AWS CodeDeploy без пользователя Github, при этом используя интеграцию, предоставляемую Github. В этом контексте ваш ответ не имеет смысла. – Martin

0

Работа по интеграции CodeDeploy и Github на основе Github Oauth. Поэтому, чтобы использовать интеграцию CodeDeploy и Github, вам нужно будет доверять приложению GIDUB CodeDeploy, используя вашу учетную запись github. В настоящее время эта интеграция будет работать только в вашем браузере с действительной учетной записью github, поскольку приложение CodeDeploy всегда перенаправляется обратно на консоль CodeDeploy, чтобы подтвердить, что & завершает процесс аутентификации OAuth.

0

После исследования я понял, что мой первый ответ неверен, вы можете использовать AWS CLI для создания CodePipeline с использованием токена Github OAuth. Затем вы можете подключить к нему развертывание CodeDeploy. Вот пример конфигурации:

{ 
    "pipeline": { 
     "roleArn": "arn:aws:iam::99999999:role/AWS-CodePipeline-Service", 
     "stages": [ 
      { 
       "name": "Source", 
       "actions": [ 
        { 
         "inputArtifacts": [], 
         "name": "Source", 
         "actionTypeId": { 
          "category": "Source", 
          "owner": "ThirdParty", 
          "version": "1", 
          "provider": "GitHub" 
         }, 
         "outputArtifacts": [ 
          { 
           "name": "MyApp" 
          } 
         ], 
         "configuration": { 
          "Owner": "myusername", 
          "Repo": "myrepo", 
          "Branch": "master", 
          "OAuthToken": "**************" 
         }, 
         "runOrder": 1 
        } 
       ] 
      }, 
      { 
       "name": "Beta", 
       "actions": [ 
        { 
         "inputArtifacts": [ 
          { 
           "name": "MyApp" 
          } 
         ], 
         "name": "CodePipelineDemoFleet", 
         "actionTypeId": { 
          "category": "Deploy", 
          "owner": "AWS", 
          "version": "1", 
          "provider": "CodeDeploy" 
         }, 
         "outputArtifacts": [], 
         "configuration": { 
          "ApplicationName": "CodePipelineDemoApplication", 
          "DeploymentGroupName": "CodePipelineDemoFleet" 
         }, 
         "runOrder": 1 
        } 
       ] 
      } 
     ], 
     "artifactStore": { 
      "type": "S3", 
      "location": "codepipeline-us-east-1-99999999" 
     }, 
     "name": "MySecondPipeline", 
     "version": 1 
    } 
} 

Вы можете создать трубопровод с помощью команды:

aws codepipeline create-pipeline --cli-input-json file://input.json 

Убедитесь, что маркер Github OAuth имеет разрешения admin:repo_hook и repo.

Ссылка: http://docs.aws.amazon.com/cli/latest/reference/codepipeline/create-pipeline.html

+0

Я думаю, что в этот момент это будет использовать другой продукт. Кажется, что ответ по-прежнему «с AWS CodeDeploy, вы не можете». – Martin

 Смежные вопросы

  • Нет связанных вопросов^_^