LoginSignup
0
0

More than 1 year has passed since last update.

GitHubへのPush時にAWS CodeCommitにリポジトリを同期する

Last updated at Posted at 2021-10-13

AWS AmplifyでWebアプリを開発していてAWS CodeCommitへのpushをトリガーにデプロイされる、という環境で開発していたのですが、コードの管理はGitHubで行うという機会が有りました。

そのため、GitHub Actionsから任意のタイミングでAWS CodeCommitに同期してデプロイが実行されるという環境を作りたかったので、その時のメモです。

AWS CodeCommit SSHキーのアップロード

まずはAWSのIAMコンソールから、CodeCommitのSSHパブリックキーをアップロードして、SSHキーIDを取得します。
ssh upload

GitHubのSecretsにSSHキー情報を登録

GitHubの管理画面で、「Settings」 -> 「Secrets」から、先程取得したSSHキーIDと、SSHパブリックキーに対応するシークレットキーを登録します。

今回は例として、 CODECOMMIT_SSH_KEY_ID にSSHキーID、 CODECOMMIT_SSH_PRIVATE_KEY にシークレットキーを登録しました。
github secrets

GitHub Actionsを設定

下記のコードを、GitHub Actionsのワークフローとして登録します。
target_repo_url には、CodeCommitのリポジトリのURLを指定してください。

name: "Deploy"

on: [ workflow_dispatch ]

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 5

    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Push to AWS CodeCommit
        uses: pixta-dev/repository-mirroring-action@v1
        with:
          target_repo_url:
            ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/hoge
          ssh_private_key:
            ${{ secrets.CODECOMMIT_SSH_PRIVATE_KEY }}
          ssh_username:
            ${{ secrets.CODECOMMIT_SSH_KEY_ID }}

以上でGitHub Actions実行時にCodeCommitにリポジトリが同期されます。
意外と簡単ですね!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0