AWS CodeCommitとGitlabのミラーリング
背景
GitlabとAWS CodeBuildを組み合わせてCIをしようとしましたが、入力SourceにGitlabを選択することができませんでした。
(Amazon S3 バケット、CodeCommit、GitHub、GitHub Enterprise、Bitbucketが対応している。)
しかし、とある理由でGitlab CE
かAWSCodeCommit
しか選べない状況でした。
当初CodeCommitを使って対応しましたが、使いづらかったのでGitlabからミラーリングするようにしたお話です。
Gitlabのバージョン
GitLab CE v10.8以降
v10.8以降からCE版でもリポジトリのミラーリングが可能になりました。
v10.8以前はGitlab→AWS API Gateway→lamda→S3
、Gitlab→Jenkins→CodeBuild
など対応コストが少し高かったです。
ググると、この辺りの方法を用いた記事が上位にヒットするので、今はもっと簡単にできるよ!という意味で発信してます。
ミラーリング方法
- 書くつもりでしたが、調べたところ、以下の記事が大変丁寧にまとまっていたため参照下さい。
- 流石に味気ないので、追加情報を示します。
-
Git credentials
のユーザ名で、CommitのAuthorが上書きされることはありません。
-
Git credentials
を発行したIAMユーザにSourceIP制限が有る場合、Gitlab CEが動作しているサーバのIPが設定されていなければミラーリングできません。
- 私は詰まりました。。
問題点
-
Git credentials
のユーザ名で、CommitのAuthorが上書きされることはありません。 -
Git credentials
を発行したIAMユーザにSourceIP制限が有る場合、Gitlab CEが動作しているサーバのIPが設定されていなければミラーリングできません。
- 私は詰まりました。。
CodeCommitへの反映まで、最大5分程度の遅延が有ります。
CICDパイプラインをリアルタイムに動かしたい場合は、Only protected branches
設定を有効にするか、CodeCommit等のAWS正式対応なリポジトリを選ぶか、GitlabCIなどを使って独自にミラーリングする仕組みを構築する等の対応が必要です。。
参考文献
Author And Source
この問題について(AWS CodeCommitとGitlabのミラーリング), 我々は、より多くの情報をここで見つけました https://qiita.com/ttr_tkmkb/items/ba6f53d8232ea3405d7e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .