2017-03-03 13 views
3

Bitbucket、Jenkins、AWS Elastic Beanstalkを使用して連続配信システムを設定しています。BitbucketとCodePipelineのAWS S3 Gitpull

私がこのarticleに従ってセットアップしたBitbucketの統合がマスターブランチを構築しているように見えてしまう問題があります。 GithubやAWS CodeCommitのようなコードパイプラインで直接的なサポートがなければ、候補ブランチの開発やリリースといった特定のブランチでビルドをセットアップする方法がわかりません。

リポジトリのS3ジップからCodePipelineでビルドする必要があるブランチを指定することはできますか?

答えて

1

私はs3://git-to-codepipeline-us-east-1/v1.0/GitPullS3.zipの "master"をブランチに置き換えることができると思います。オリジナルのものではなくラムダ関数で新しいGitPullS3.zipを使用します。

+0

もう少し情報を提供できますか?あなたはラムダを参照していますか?私の理解は、GitPull LambdaがS3にレポのコピーを引くためにSSHを使用することです。デフォルトでは、これはマスターブランチです。 CodePipelineを利用するには、開発環境、マスター環境、および修正プログラムのブランチを別々の環境に展開したいと思います。 – fakataha

+0

私はこれらの行に沿って解決策をとることになりました。私はWebhookによって送信されたBitbucket jsonから宛先ブランチを取得するようにPythonスクリプトを修正しました。ラムダは特定のS3バケットを取得します。私はそれぞれのS3バケットからのトリガを聞く「開発」と「マスター」の2つの別々のパイプラインを作成しました。 – fakataha

0

samba_function.pyファイルの "master"という文字列をs3の//git-to-codepipeline-us-east-1/v1.0/GitPullS3.zipに置き換える必要があると思います作業中の地域に基づいて正しいバケットを使用します)、新しいzipを作成してS3にアップロードします。そして、この新しいS3ファイルをGitPullラムダ関数で使用します(GitPullラムダ関数で新しいS3ファイルを使用するようにCloudFormationスタックを更新できます)。

+0

私はこのオプションを調べました。私はそれが実行可能だと思います。しかし、私はそれが正しいアプローチだとは思わない。例:Lambda:GitPullは 'development' - > CodePipelineをチェックアウトできるようになりました。ビルドステージは '開発'しか構築できません。私は適切なアプローチは、CodePipelineを持っていることだと思います:最初にリポジトリ全体をプルしていて、ブランチ情報を持っているはずだと思っている変更に基づいて更新しているので、 – fakataha

関連する問題