AWS CodeCommit から Bitrise に接続する

# ０．はじめに

![aws-codecommit.jpg](https://qiita-image-store.s3.amazonaws.com/0/161939/7b01e1f3-f7f9-2a4d-af67-839cf2baf792.jpeg) → SSH → ![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3134363632392f37303662313162612d656639372d356339632d663233362d3062316534623934626235302e6a706567.jpeg](https://qiita-image-store.s3.amazonaws.com/0/161939/cd7217a0-9997-da45-ef44-136ae2c80e4d.jpeg)

AWS CodeCommit から Bitrise を経由して、スマホのアプリをデプロイするにあたって、接続する手順を試してみました。

# １．SSH 鍵を作成する。

1. 以下のコマンドを実行し、SSH鍵を作成する。
    * `ssh-keygen -t rsa -f id_rsa_bitrise_sample`
        * [ssh\-keygenでファイル名を指定して鍵を生成する \- Qiita](https://qiita.com/goldbook@github/items/575981f3ec0bc582ea24)
        * [ssh\-keygenでファイル名を指定して作成 \- Qiita](https://qiita.com/kanuma1984/items/a278528b92762a869287)
    * <b><font color="red">※ Bitrise で使う場合は、パスフレーズは入力しない!!</font></b>

```bash
$ ssh-keygen -t rsa -f id_rsa_bitrise_sample
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_bitrise_sample.
Your public key has been saved in id_rsa_bitrise_sample.pub.
The key fingerprint is:
SHA256:9oHjSpQ8+FIF8PnaJPCZ9QHJZFQv788qFVkX7vQUkVA y.uekama@HW-GS-029.local
The key's randomart image is:
+---[RSA 2048]----+
|    ...+=o.  .oE+|
|     . +o. .  o.o|
|    . o o o .o +.|
|     = B o +o o..|
|    . @ S o .. ..|
|     + O o o.    |
|    . + o ...    |
|     o .  .  o   |
|      .    ...o  |
+----[SHA256]-----+
```

# ２．Bitrise から AWS CodeCommit へアクセスするユーザーを作成する。

1. 以下のリンクにアクセスし、「ユーザーを追加」ボタンを押下します。
    * [IAM Management Console](https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/users)
    * ![0201.png](https://qiita-image-store.s3.amazonaws.com/0/161939/aba49af3-c725-0937-a167-276b5ecb2239.png)
</br>
1. 以下の項目を入力し、「次のステップ : アクセス権限」ボタンを押下します。
    * ユーザー名 : ※任意
    * アクセスの種類 : ※プログラムによるアクセスにチェック
    * ![0202.png](https://qiita-image-store.s3.amazonaws.com/0/161939/6f4448d8-bdcf-5141-3595-bdf4a471cc29.png)
</br>
1. 「次のステップ : 確認」ボタンを押下します。
    * ![0203.png](https://qiita-image-store.s3.amazonaws.com/0/161939/1bcc4a4f-ac84-7821-3ab6-276226ae02a1.png)
</br>
1. 「ユーザーの作成」ボタンを押下します。
    * ![0204.png](https://qiita-image-store.s3.amazonaws.com/0/161939/a1613dd7-9625-393a-95e2-28df30cc2bcd.png)
</br>
1. ユーザーが作成されますので、確認します。
    * ![0205.png](https://qiita-image-store.s3.amazonaws.com/0/161939/d3c8ec21-d4d0-a0da-966b-36ff0bf457f6.png)

# ３．アクセスユーザーに SSH キーを追加する。

1. アクセスユーザーのリンクをクリックします。
    * ![0301.png](https://qiita-image-store.s3.amazonaws.com/0/161939/88a997fb-5fae-a43b-7436-b9acbe63179b.png)
</br>
1. 「認証情報」のタブを選択し、「SSH 公開キーのアップロード」ボタンを押下します。
    * ![0302.png](https://qiita-image-store.s3.amazonaws.com/0/161939/4fc79dca-3913-1fe5-cc16-1a8841349518.png)
</br>
1. 「SSH 公開キーのアップロード」ダイアログが表示されるので、入力欄に作成した SSH 公開キー(*.pub) の内容を入力し、「SSH 公開キーのアップロード」ボタンを押下します。
    * ![0303.png](https://qiita-image-store.s3.amazonaws.com/0/161939/e6b6ef21-75bf-e9c3-133a-5747d70d19dc.png)
</br>
1. SSH キーが追加されますので、確認します。
    * ![0304.png](https://qiita-image-store.s3.amazonaws.com/0/161939/85066241-4c49-1527-6698-a5d1087cc798.png)

# ４．アクセスユーザーに AWS CodeCommit へのアクセス権限を追加する。

1. 「アクセス権限」のタブを選択し、「＋ インラインポリシーの追加」リンクをクリックします。
    * ![0401.png](https://qiita-image-store.s3.amazonaws.com/0/161939/4cea6b32-11f8-0d48-56d8-f18e442f53c3.png)
</br>
1. 以下の項目を設定し、「Review policy」ボタンを押下します。
    * サービス : CodeCommit
    * アクション : GitPull
    * リソース : ※所定の CodeCommit リソースを追加。
    * ![0402.png](https://qiita-image-store.s3.amazonaws.com/0/161939/d3ffdebc-50d2-13cc-ea78-2c5db31987c4.png)
</br>
1. 以下の項目を設定し、「Create policy」ボタンを押下します。
    * 名前 : ※任意
    * ![0403.png](https://qiita-image-store.s3.amazonaws.com/0/161939/37c64422-f90b-c526-db91-b3f7a2f63e52.png)
</br>
1. アクセス権が追加されますので、確認します。
    * ![0404.png](https://qiita-image-store.s3.amazonaws.com/0/161939/31cbf414-90e0-2256-f428-a0304ec62977.png)

# ５．アクセスユーザーに AWS CodeCommit へのアクセス権限を追加する。

1. 以下のリンクにアクセスし、「+ Add new app」ボタンを押下します。
    * [Dashboard \- Bitrise](https://app.bitrise.io/dashboard)
    * ![0501.png](https://qiita-image-store.s3.amazonaws.com/0/161939/6732498d-e7e2-0ba6-e00d-4238e3da7189.png)
</br>
1. 以下の項目を設定し、「Next」ボタンを押下します。
    * CHOOSE ACCOUNT : ※任意
    * SET PRIVACY OF THE APP : ※任意
    * ![0502.png](https://qiita-image-store.s3.amazonaws.com/0/161939/346dd08e-9a55-2baf-a45e-f0317da659e0.png)
</br>
1. ちょっと待ちます。
    * ![0503.png](https://qiita-image-store.s3.amazonaws.com/0/161939/6f132371-4f8f-a7ec-ffcc-7e14edbd9db9.png)
</br>
1. 「Other / Manual」タブを選択後、以下の項目を設定し、「Next」ボタンを押下します。
    * Git repository (clone) URL :
        * `ssh://[SSH キー ID]@[AWS CodeCommit の Git リポジトリ]`
        * [Integrating AWS CodeCommit with Bitrise \- How To \- Bitrise Discussions](https://discuss.bitrise.io/t/integrating-aws-codecommit-with-bitrise/158)
    * ![0504.png](https://qiita-image-store.s3.amazonaws.com/0/161939/44c152e8-e8dc-a8ef-4465-43c32895957e.png)
</br>
1. 「Setup repository access」において、「ADD OWN SSH」タブを選択後、以下の項目を設定し、「All done」ボタンを押下します。
    * Paste your RSA SSH private key to the field below without the passphrase :
        * ※作成した SSH 秘密キーの内容
    * ![0505.png](https://qiita-image-store.s3.amazonaws.com/0/161939/1bd5e565-effb-c812-a21b-c87336715df4.png)
</br>
1. AWS CodeCommit の Git リポジトリとの接続されます。
    * ![0506.png](https://qiita-image-store.s3.amazonaws.com/0/161939/82f23869-7dea-b863-6514-3d49c443bbac.png)

# ９９．ハマりポイント

* まず一つは、パスなしの鍵じゃないと接続出来ないことがわからず、時間が掛かって参りました。
<br><br>
* あと、接続文字列がわからずに色々調べるのに手間取りました。

# ＸＸ．まとめ

次は、Bitrise から Google Play Console や iTunes Store へのデプロイの設定について、投稿出来ればと思います。

では♪