如何解决使用ThirdParty GitHub源提供程序保留AWS Pipeline的git操作
我有一个配置为使用ThridParty GitHub源提供程序的管道,如下所示:
...
Resources:
DevPipeline:
Type: AWS::CodePipeline::Pipeline
Properties:
Name: my-pipeline
RoleArn: !Ref 'PipelineRole'
Stages:
- Name: Source
Actions:
- Name: GitHub
ActionTypeId:
Category: Source
Owner: ThirdParty
Version: 1
Provider: GitHub
Configuration:
Owner: !Ref GitHubOwner
Repo: !Ref GitHubRepo
Branch: !Ref GitHubBranch
OAuthToken: !Ref GitHubToken
OutputArtifacts:
- Name: JavaSource
Runorder: 1
...
我希望能够在以下构建步骤中对源代码运行git
操作。但是,此源操作在输出工件中不包括.git
文件夹。
如何修改此设置,以便可以访问存储库上的git
操作?
解决方法
CodePipeline最近发布了新版本的GitHub Source操作,该操作执行git存储库的实际克隆,而不是从GitHub获取“ zip”捆绑包。
新的GitHub动作(版本2)使用CodeStarSourceConnection。因此,我们只需要在管道的源阶段中指定CodeStarSourceConnection [1]源操作提供程序即可。 CloudFormation还支持AWS :: CodeStarConnections :: Connection资源[2]。您可以引用现有Connection的ARN,或在CloudFormation中创建一个新的ARN。现有连接可以在[0]中找到。
这是模板片段示例:
Resources:
CodeStarConnection:
Type: 'AWS::CodeStarConnections::Connection'
Properties:
ConnectionName: MyGitHubConnection
ProviderType: GitHub
CodePipeline:
Type: 'AWS::CodePipeline::Pipeline'
Properties:
Stages:
- Name: Source
Actions:
- Name: SourceAction
ActionTypeId:
Category: Source
Owner: AWS
Version: 1
Provider: CodeStarSourceConnection
OutputArtifacts:
- Name: SourceArtifact
Configuration:
ConnectionArn: !Ref CodeStarConnection
BranchName: master
FullRepositoryId: username/repository
RunOrder: 1
... ...
注意:默认情况下,通过CloudFormation创建的连接处于PENDING状态。您可以通过在控制台[3]中更新连接来使其状态变为可用。连接可用后,您可以将CodePipeline与Github版本2的源操作一起使用。
参考:
[0]连接-https://console.aws.amazon.com/codesuite/settings/connections
[1] CodeStarSourceConnection-https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html
[2] AWS :: CodeStarConnections :: Connection-https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html
[3]更新挂起的连接-https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。