AWS CodeCommitでプルリクエスト・マージ
AWS CodeCommitでプルリクエスト・マージ ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上で […]
Filter by Category
AWS CodeCommitでプルリクエスト・マージ ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上で […]
vue createで作成する際に.gitが生成されないようにする Vue.jとDjangoのプロジェクトをGitで管理しようとしたところ、vue createで生成したディレクトリだけが追加されていないことがわかりまし […]
.gitignoreには書かずに自分の環境だけファイルを管理から外す Gitでは管理から外すファイルを指定するには、.gitignoreファイルを使用します。これは、Gitが無視するべきファイルやディレクトリのリストを書 […]
Gitで別のブランチから特定のファイルorディレクトリをチェックアウト 複数人での開発や細かくブランチを作って開発していると、別ブランチの一部分だけを今のブランチに取り込みたいということがあります。マージだと取り込みたく […]
ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上でも一人当たり$1(月)で利用可能です。CodeCommitはAWSの他サービスとの連携も簡単で、ブラウザからの操作で様々な連携ができるのも魅力的です。また、IAMポリシーで利用者ごとに柔軟に権限を持たせることもできるのでセキュリティ対策にも有効です。
本記事はCodeCommitでリポジトリの作成、ブランチの作成、プルリクエストの作成、マージという流れを解説します。次の記事ではCodePipelineを使ってプルリクエストをマージしたタイミングでCodeBildによるテストを自動で実行するまでの流れを解説します。
コンソールにログインしたらCodeCommitを検索します。
CodeCommitで「リポジトリ作成」を押します。
リポジトリ名を入力して「作成」を押します。最終的にCodeBuildでテストを実行するリポジトリなので、ContinuousTestingというリポジトリ名にしました。説明は空欄のまま作成します。
リポジトリにファイルを作成します。
「ファイルの作成」を押してファイルを作成します。
CodeBuildのテストに必要なbuildspec.ymlを作成します。下記のコードを入力して、ファイル名、作成者名、Eメールアドレスを入力して「変更のコミット」を押します。
buildspec.yml
version: 0.2
phases:
install:
runtime-versions:
python: 3.10
commands:
- echo "Build Start v1"
- pip install -r requirements.txt
build:
commands:
- python -m pytest --junitxml=./pytest_results.xml
reports:
pytest_reports:
files:
- pytest_results.xml
base-directory: "./"
file-format: JUNITXML
CodeBuildでビルド実行時に実行するコマンドが書かれたファイルです。コードの主な処理はcommandsにあるテスト開始時のテキスト表示、パッケージのインストール、テストの実行と、reportsにあるテストのレポートを出力です。
Git flowでの運用を想定してdevブランチを作成します。
サイドバーのブランチを選択して「ブランチの作成」を押します。
ブランチ名は「dev」、ブランチ元は「main」を指定して「ブランチの作成」を押します。
Git flowでの運用を想定しているのでデフォルトのブランチを「dev」に変更します。(デフォルトブランチの設定が不要であれば飛ばして問題ありません)
デフォルトブランチで「dev」を選択して「Save」を押します。
リポジトリのデフォルトブランチが「dev」に変更されました。
エディタやCodeCommit上での変更をdevブランチに反映させるためにプルリクエストを作成します。今回はCodeBuildによるテストに必要な下記の3ファイルを新たに作成しました。
main.py
def add_numbers(a, b):
return a + b
main_test.py
import main
def test_add_numbers():
assert main.add_numbers(1, 2) == 3
requirements.tx
exceptiongroup==1.2.0
iniconfig==2.0.0
packaging==23.2
pluggy==1.3.0
pytest==7.4.3
tomli==2.0.1
サイドバーのプルリクエストを選択してターゲットに「dev」、ソースに「feature/add-files」を選択して「比較」を押します。(ソースで選択するブランチは自身で作成したブランチを選択します。)
タイトル名の入力、変更内容を確認して「プルリクエストの作成」を押します。
作成したプルリクエストをdevブランチにマージします。
先程作成したプルリクエストを選択して「マージ」を押します。
今回はマージ戦略に「早送りマージ」を選択して「プルリクエストのマージ」を押します。マージ後もブランチを残しておきたいのでチェックを外してからマージしましたが、削除する場合はチェックを入れてマージしてください。
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません