こんにちは。
今回は、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を作成します。
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を立ち上げるようにしていますが今回は使いません)
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しているので、ローカルにもコードが保存されています。
今回はこのあたりで。