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
に変更します。
これによりユーザ名とパスワードとして扱ってくれます。