🐻

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に変更します。

特殊文字をエンコードすることで、ユーザ名とパスワードを期待したとおりに扱ってくれます。

GitHubで編集を提案

Discussion