🐥
GitHub から AWS CodeCommitへのpush-GitHub側
GitHubからAWS CodeCommitへのpush
概要
AWS側の続き。
GitHub Actionsを利用してブランチへのプッシュをトリガーに、
OIDC認証を利用してAWS CodeCommitへpushを行う設定手順。
GitHubのプランによってはGitHub Actionsが使えない。
- OpenID Connect (OIDC)
- GitHub Actions
GitHub側の設定
- 「set up a workflow yourself」を押して定義を作成。
定義内容
定義内容の下記の箇所をAWS側で定義した内容に置き換える。
開発ブランチとかは不要なので、mainブランチを指定。
認証系の情報
- AWS_ROLE_ARN: arn:aws:iam::"アカウント番号":role/"ロール名"
- AWS_REGION: リージョン
コードコミットの情報
- CODECOMMIT_HOST: "AWS CodeCommitホスト"
- CODECOMMIT_REPO_URL: "AWS CodeCommit HTTPSリポジトリURL"
- CODECOMMIT_REPOSITORY: "リポジトリ名"
name: GitHubCodeCommitSync
on:
push:
branches: [ "main" ]
delete:
branches: [ "main" ]
env:
# 認証系の情報
AWS_ROLE_ARN: arn:aws:iam::"アカウント番号":role/"ロール名"
AWS_REGION: リージョン
AWSWEB_IDENTITY_TOKEN_FILE: /tmp/awscreds
# コードコミットの情報
CODECOMMIT_HOST: "AWS CodeCommitホスト"
CODECOMMIT_REPO_URL: "AWS CodeCommit HTTPSリポジトリURL"
CODECOMMIT_REPOSITORY: "リポジトリ名"
permissions:
id-token: write
contents: read
jobs:
aws-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout.
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: AWS Configure Credentials.
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ env.AWS_ROLE_ARN }}
role-session-name: githubActionsAession
- name: Configure git
run: |
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
- name: Push to AWS CodeCommit
run: |
git remote add codecommit ${{ env.CODECOMMIT_REPO_URL }}${{ env.CODECOMMIT_REPOSITORY }}
git push codecommit main:main -f
保存
- 「Start commit」ボタンを押下。
- 「Commit new file」ボタンを押下。
- Actionsが実行される。
Actions 実行結果
AWS CodeCommit
リポジトリを確認
GitHubからプッシュされている事を確認。
GitHubからAWS CodeCommitへプッシュする事が出来た。
終わり。
Discussion