[AWS] DockerとPythonを利用してAWS CodeCommitからコードをPullする方法

2024/06/01

AWS
Docker
Python

こんにちは。

今回は、DockerとPythonを利用してAWS CodeCommitからコードをPullする方法について紹介します。

AWS CodeCommitとは

AWS CodeCommitは、Gitリポジトリのホスティングサービスです。

CodeCommitを使うことで、Gitリポジトリを作成し、コードの管理や共有を行うことができます。

なぜDockerとPythonを使うのか

AWS CodeCommitからコードをPullする際、IAMユーザーには、CodeCommitのリポジトリにアクセスするための権限があることが前提です。

しかし、IAMユーザーの切り替えが面倒だったり、ローカルでPythonの環境を構築するのが面倒だったりすることがあります。

そこで、DockerとPythonを使ってCodeCommitからコードをPullする方法を紹介します。

やっていき

Dockerfileを作成する

まず、Dockerfileを作成します。

Dockerfile
FROM python:3.12

RUN apt-get update

RUN pip install --upgrade pip
RUN python -m pip install jupyterlab
RUN python -m pip install git-remote-codecommit

Docker環境も作成しておきましょう。
(個人的に、jupiyterlabを使うことが多いので、とりあえず起動時にjupyterlabを立ち上げるようにしていますが今回は使いません)

docker-compose.yml
services:
  app:
    build: .
    volumes:
      - .:/app
    ports:
      - "8888:8888"
    command: jupyter-lab --ip 0.0.0.0 --allow-root -b localhost

Docker環境内に入る

次に、Docker環境内に入ります。

docker compose build
docker compose up -d
docker compose exec app bash

AWS CLIを設定する

Docker環境内で、AWS CLIを設定します。

curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install

cf: AWS CLIのインストール

aws --versionでバージョンが表示されればOKです。

AWS CLIにIAMユーザーを設定する

IAMユーザーを設定します。

aws configure

それぞれの項目に、アクセスキーID、シークレットアクセスキー、リージョン、出力形式を入力します。

ログインできたら、いよいよCodeCommitからコードをPullします。

CodeCommitからコードをPullする

CodeCommitからコードをPullします。

git clone codecommit::ap-northeast-1://my-repo

my-repoは、CodeCommitのリポジトリ名に置き換えてください。

これで、CodeCommitからコードをPullすることができました。

DockerComposeでmountしているので、ローカルにもコードが保存されています。

今回はこのあたりで。