🐻
CodeCommitでsshを使用しないでpullしたい
背景
awsのCodeCommitからgit cloneする時に困ることがありました。
httpsでpullしようとすると、パスワードを求められるのです。ansibleで対話せずにpullしようとしたのですが、対話でパスワードを求められてそこでansibleがとまってしまいます。
この記事では上記の回避方法を示します。
方法
以下の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に変更します。
特殊文字をエンコードすることで、ユーザ名とパスワードを期待したとおりに扱ってくれます。
Discussion