LoginSignup
3
3

More than 3 years have passed since last update.

AWS CodeCommitとGitlabのミラーリング

Last updated at Posted at 2019-05-19

背景

GitlabとAWS CodeBuildを組み合わせてCIをしようとしましたが、入力SourceにGitlabを選択することができませんでした。
(Amazon S3 バケット、CodeCommit、GitHub、GitHub Enterprise、Bitbucketが対応している。)

しかし、とある理由でGitlab CEAWSCodeCommitしか選べない状況でした。
当初CodeCommitを使って対応しましたが、使いづらかったのでGitlabからミラーリングするようにしたお話です。

Gitlabのバージョン

GitLab CE v10.8以降

v10.8以降からCE版でもリポジトリのミラーリングが可能になりました。
v10.8以前はGitlab→AWS API Gateway→lamda→S3Gitlab→Jenkins→CodeBuildなど対応コストが少し高かったです。
ググると、この辺りの方法を用いた記事が上位にヒットするので、今はもっと簡単にできるよ!という意味で発信してます。

ミラーリング方法

  • 書くつもりでしたが、調べたところ、以下の記事が大変丁寧にまとまっていたため参照下さい。
  • 流石に味気ないので、追加情報を示します。
    • Git credentialsのユーザ名で、CommitのAuthorが上書きされることはありません
    • Git credentialsを発行したIAMユーザにSourceIP制限が有る場合、Gitlab CEが動作しているサーバのIPが設定されていなければミラーリングできません。
      • 私は詰まりました。。

問題点

CodeCommitへの反映まで、最大5分程度の遅延が有ります。
CICDパイプラインをリアルタイムに動かしたい場合は、Only protected branches設定を有効にするか、CodeCommit等のAWS正式対応なリポジトリを選ぶか、GitlabCIなどを使って独自にミラーリングする仕組みを構築する等の対応が必要です。。

参考文献

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3