群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でPythonを使ったAIやシステムを開発しているファントムです。企業の経営課題を最適なテクノロジーで解決します。テックブログではPythonを中心にプログラミングに役立つ情報を発信しています。

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 16
  • Django 45
  • FastAPI 4
  • Flask 8
  • GCP 1
  • Information 37
  • Other 32
  • PHP 2
  • Python 93
  • Pythonista 3
  • Rust 1

タグ


Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(93)
  • Django(45)
  • Information(37)
  • Other(32)
  • AWS(16)
  • Flask(8)
  • FastAPI(4)
  • Pythonista(3)
  • PHP(2)
  • GCP(1)
  • Rust(1)

Filter by Author

  • EIGHT (14)
  • hayai017 (2)
  • press (196)
Back to Latest Articles
AWS

AWS CodeCommitでプルリクエスト・マージ

AWS CodeCommitでプルリクエスト・マージ ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上で […]

Posted on 12th 12月 2023 by press

FastAPI

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション FastAPIにはデータベースのマイグレーション機能はありませんが、Alembicというデータベースのマイグレーションツー […]

Posted on 5th 12月 2023 by press

AWS

AWS LambdaとS3、SNSでファイルのアップロードを自動通知

AWS LambdaとS3、SNSでファイルのアップロードを自動通知 AWS Lambdaは特定の条件を満たすときにサーバーレスでPython(他のプログラミング言語も)を実行できるサービスです。トリガーを検知したときや […]

Posted on 21st 11月 2023 by press

Other

GitHubリポジトリを別のOrganizationに移行

GitHubリポジトリを別のOrganizationに移行 非公開用のOrganization(組織)で管理していたリポジトリの公開範囲をプライベートから公開に変更するにあたって、リポジトリを別のOrganization […]

Posted on 20th 11月 2023 by press

Python

PythonとMoviePyで動画ファイルの指定時間ごとの分割を自動化

PythonとMoviePyで動画ファイルの指定時間ごとの分割を自動化 OpenCVなどで動画の処理を行う際に、1分毎の変化や10分毎に結果を見たいときに一連の動画から指定した時間毎に分割して切り出したいことがあります。 […]

Posted on 20th 11月 2023 by press

Python

OpenCVで動画ファイルの最終フレームを取得

OpenCVで動画ファイルの最終フレームを取得 PythonとOpenCVを使用して動画ファイルの最大フレーム数を取得する方法を解説をします。処理の確認用に取得した最大フレーム数とファイル名をソートして表示させます。 コ […]

Posted on 6th 11月 2023 by press

AWS

Amazon Route 53で新規ドメインを登録

Amazon Route 53で新規ドメインを登録 ウェブサイトやウェブサービスを運営する際にドメインは欠かせない要素です。この記事では、Amazon Route 53で新しいドメインを登録する方法について解説します。 […]

Posted on 19th 10月 2023 by press

Other

GitHub CopilotをPyCharmで使用するまでの手順

GitHub CopilotをPyCharmで使用するまでの手順 GitHub Copilotは、プログラミングの効率を飛躍的に向上させるツールで、開発者にとって非常に便利なコーディングのサポートを提供します。本記事では […]

Posted on 17th 10月 2023 by press

Python

PyCharm 2023.2から追加されたBlackによるコード成形

PyCharm 2023.2から追加されたBlackによるコード成形 Pythonのコード成形で人気のBlackがPyCharm 2023.2から環境設定画面で設定可能になりました。従来はpipなどでインストールしていま […]

Posted on 13th 9月 2023 by press

AWS

S3のライフサイクルルールの落とし穴

S3のライフサイクルルールの落とし穴 保存したデータが必要以上に増えないようにライフサイクルルールで指定した日数を経過したデータは削除する設定にしていましたが、後日改めてバケットを確認するとフォルダ、ファイルどちらも削除 […]

Posted on 10th 9月 2023 by press

AWS

S3でストレージクラスを一括で変更

S3でストレージクラスを一括で変更 デフォルトではS3のストレージクラスは「標準」になっていますが、このストレージクラスは頻繁にアクセスするデータを保存するのに適した設定なので、バックアップファイルなどの頻繁にアクセスし […]

Posted on 10th 9月 2023 by press

Django

request.FILES.get(‘file’)とrequest.FILES[‘file’] の違い

request.FILES.get(‘file’)とrequest.FILES[‘file’] の違い この記事は生成AIで作成されました request.FILES.ge […]

Posted on 21st 5月 2023 by press

Other

Twitter APIの移行作業について

Twitter APIの変更に関して 最近、Twitter APIのバージョンがアップデートされ、v1が廃止されました。これに伴い、開発者はv2への移行が必要となります。 Twitter v1の廃止 Twitter v1 […]

Posted on 6th 5月 2023 by EIGHT

AWS

AWS Rekognitionとは

AWS Rekognitionとは AWS Rekognitionは、画像と動画から情報を抽出するディープラーニング技術を利用した分析サービスです。このサービスは、顔認識、物体検出、シーン分析など、さまざまな分析機能を提 […]

Posted on 5th 5月 2023 by EIGHT

Other

コメント,タイプヒント, ドックストリングの追記とGitHubでのコンフリクト

タイプヒント, コメント, ドックストリングの追記とGitHubでのコンフリクト コメントの記述方法と注意点 タイプヒントの記述方法と注意点 ドックストリングの記述方法と注意点 GitHubのコンフリクト発生時の対処法に […]

Posted on 18th 4月 2023 by hayai017

Other

VSCodeとGitでのコード管理

VSCodeとGitでのコード管理 行ったこと アクセストークンの取得リポジトリのクローン リポジトリのクローン ブランチの作成 ファイルのコミット 同期 ターミナルでのgitbashの利用(windows) 作業用のブ […]

Posted on 18th 4月 2023 by hayai017

Other

vue createで作成する際に.gitが生成されないようにする

vue createで作成する際に.gitが生成されないようにする Vue.jとDjangoのプロジェクトをGitで管理しようとしたところ、vue createで生成したディレクトリだけが追加されていないことがわかりまし […]

Posted on 3rd 4月 2023 by press

Django

Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜2〜

Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜2〜 Django REST Frameworkと組み合わせたVue.jsで、ビルド後にバックエンドの開発サーバー(8000ポートなど)で […]

Posted on 3rd 4月 2023 by press

Django

Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜1〜

Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜1〜 画面が真っ白になる原因 Vue.jsとDjangoの組み合わせで開発中にnpm run serveで起動した開発サーバーでページを確 […]

Posted on 3rd 4月 2023 by press

Django

Vue.jsとDjango REST FrameworkでSPA構築〜後半〜

Vue.jsとDjango REST FrameworkでSPA構築〜後半〜 前半に続き、後半はフロントエンド側(Vue.js)の実装を進めていきます。 コードはGitHubリポジトリにあげています。 開発環境 PC: […]

Posted on 2nd 4月 2023 by press

View Latest Posts
AWS

AWS CodeCommitでプルリクエスト・マージ


press
AWS CodeCommitでプルリクエスト・マージ
Posted on 12th 12月 2023 by press
2024年度 インターンシップ 募集開始

AWS CodeCommitでプルリクエスト・マージ

ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上でも一人当たり$1(月)で利用可能です。CodeCommitはAWSの他サービスとの連携も簡単で、ブラウザからの操作で様々な連携ができるのも魅力的です。また、IAMポリシーで利用者ごとに柔軟に権限を持たせることもできるのでセキュリティ対策にも有効です。

本記事はCodeCommitでリポジトリの作成、ブランチの作成、プルリクエストの作成、マージという流れを解説します。次の記事ではCodePipelineを使ってプルリクエストをマージしたタイミングでCodeBildによるテストを自動で実行するまでの流れを解説します。

構築の流れ

  1. リポジトリ作成
  2. ブランチ作成
  3. プルリクエスト作成
  4. マージ

リポジトリ作成

コンソールにログインしたらCodeCommitを検索します。

CodeCommitでリポジトリ作成
CodeCommitでリポジトリ作成

CodeCommitで「リポジトリ作成」を押します。

CodeCommitでリポジトリ作成
CodeCommitでリポジトリ作成

リポジトリ名を入力して「作成」を押します。最終的にCodeBuildでテストを実行するリポジトリなので、ContinuousTestingというリポジトリ名にしました。説明は空欄のまま作成します。

ファイルを作成

リポジトリにファイルを作成します。

CodeCommitでリポジトリにファイルを作成
CodeCommitでリポジトリにファイルを作成

「ファイルの作成」を押してファイルを作成します。

CodeCommitでリポジトリにファイルを作成
CodeCommitでリポジトリにファイルを作成

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ブランチを作成します。

CodeCommitでブランチを作成
CodeCommitでブランチを作成

サイドバーのブランチを選択して「ブランチの作成」を押します。

CodeCommitでブランチを作成
CodeCommitでブランチを作成

ブランチ名は「dev」、ブランチ元は「main」を指定して「ブランチの作成」を押します。

デフォルトブランチを設定

Git flowでの運用を想定しているのでデフォルトのブランチを「dev」に変更します。(デフォルトブランチの設定が不要であれば飛ばして問題ありません)

CodeCommitでデフォルトブランチを設定
CodeCommitでデフォルトブランチを設定

デフォルトブランチで「dev」を選択して「Save」を押します。

CodeCommitでデフォルトブランチを設定
CodeCommitでデフォルトブランチを設定

リポジトリのデフォルトブランチが「dev」に変更されました。

プルリクエスト

エディタやCodeCommit上での変更をdevブランチに反映させるためにプルリクエストを作成します。今回はCodeBuildによるテストに必要な下記の3ファイルを新たに作成しました。

  • main.py:関数を実行するファイル
  • main_test.py:main.pyの関数をテストするファイル
  • requirements.txt:インストールするパッケージを記載したファイル

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
CodeCommitでプルリクエスト作成
CodeCommitでプルリクエスト作成

サイドバーのプルリクエストを選択してターゲットに「dev」、ソースに「feature/add-files」を選択して「比較」を押します。(ソースで選択するブランチは自身で作成したブランチを選択します。)

CodeCommitでプルリクエスト作成
CodeCommitでプルリクエスト作成

タイトル名の入力、変更内容を確認して「プルリクエストの作成」を押します。

マージ

作成したプルリクエストをdevブランチにマージします。

CodeCommitでマージ
CodeCommitでマージ

先程作成したプルリクエストを選択して「マージ」を押します。

CodeCommitでマージ
CodeCommitでマージ

今回はマージ戦略に「早送りマージ」を選択して「プルリクエストのマージ」を押します。マージ後もブランチを残しておきたいのでチェックを外してからマージしましたが、削除する場合はチェックを入れてマージしてください。

ファントムYouTubeチャンネル

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • CodeCommit
    • git
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit

    Related Articles

    Other

    .gitignoreには書かずに自分の環境だけファイルを管理から外す

    .gitignoreには書かずに自分の環境だけファイルを管理から外す Gitでは管理から外すファイルを指定するには、.gitignoreファイルを使用します。これは、Gitが無視するべきファイルやディレクトリのリストを書 […]

    Posted on 1st 4月 2023 by press
    AWS

    AWS CLIでファイルをS3へアップロード

    AWS CLIでファイルをS3へアップロード クラウドストレージへのファイルアップロードは、現代のシステム開発において欠かせない作業の一つです。特にAmazon S3はその高い信頼性と豊富な機能により、多くのプロジェクト […]

    Posted on 24th 11月 2024 by press