CodeCommitでsshを使用しないでpullしたい
1. 背景
awsのCodeCommitからgit cloneする際、httpsだとパスワードを求められます。
ansibleで対話せずにpullしたく、その方法を示します。
2. 方法
以下のようなURLでcloneします。
https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/aaaa
ユーザIDとパスワードをあらかじめ入れて、以下のようにします。
https://user:password@git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/aaaa
とやります。
ここで、考慮が必要なポイント。
awsが払い出すIDとパスワードはやたらと長いです。
そして、@、+、/という文字が含まれています。これらの特殊文字はユーザ名とパスワードとして扱ってくれないのです。
そこで、これらの特殊文字のエンコードが必要になります。@は%40に、+は%2Bに、/は%2Fに変更します。
これによりユーザ名とパスワードとして扱ってくれます。
