首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不使用我的Github用户的情况下将亚马逊CodeDeploy连接到Github?

在不使用我的Github用户的情况下将亚马逊CodeDeploy连接到Github?
EN

Stack Overflow用户
提问于 2016-08-23 20:33:53
回答 4查看 576关注 0票数 2

AWS文档描述了您如何使用浏览器向Github进行身份验证,以及您当前以有效用户身份登录到Github,该用户对您要从中部署的存储库具有访问权限:

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

有没有办法在不链接我的用户和没有浏览器的情况下设置CodeDeploy?我很乐意在每个存储库和AWS API调用上使用webhooks,但如果有必要的话,我会创建一个Github 'service user‘。

更多示例:http://blogs.aws.amazon.com/application-management/post/Tx33XKAKURCCW83/Automatically-Deploy-from-GitHub-Using-AWS-CodeDeploy

我喜欢在我的repo上使用webhooks,或者自己设置它们,而不是允许AWS访问我Github账户上的每个存储库。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-01 17:26:18

在这一点上,除了在浏览器中执行OAuth流之外,似乎没有其他方法可供选择。如果你担心向亚马逊开放你的整个Github账户,创建一个服务用户可能是最好的方法,不幸的是,这个用户似乎仍然需要你的repos的管理权限来设置集成。

票数 1
EN

Stack Overflow用户

发布于 2016-09-02 03:33:22

经过更多的研究,我意识到我的第一个答案是错误的,你可以使用AWS CLI来创建一个使用Github OAuth令牌的CodePipeline。然后,您可以从那里插入您的CodeDeploy部署。下面是一个配置示例:

代码语言:javascript
复制
{
    "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
    }
}

您可以使用以下命令创建管道:

代码语言:javascript
复制
aws codepipeline create-pipeline --cli-input-json file://input.json

确保Github OAuth标记具有权限admin:repo_hookrepo

参考:http://docs.aws.amazon.com/cli/latest/reference/codepipeline/create-pipeline.html

票数 1
EN

Stack Overflow用户

发布于 2016-08-30 06:38:44

CodeDeploy和Github的集成基于Github Oauth。因此,要使用CodeDeploy和Github集成,您必须使用您的github帐户信任CodeDeploy github应用程序。目前,此集成只能在您的浏览器中使用有效的github帐户工作,因为CodeDeploy应用程序将始终重定向回CodeDeploy控制台,以验证并完成OAuth身份验证过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39101344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档