

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# デベロッパー環境
<a name="development-environment"></a>

*開発環境*では、デベロッパーがコードを統合して、すべてを 1 つのまとまりのあるアプリケーションとして動作させます。Gitflow では、開発環境にはマージリクエストに含まれる最新の機能が含まれており、リリースの準備が整います。GitHub フローおよびトランク戦略では、開発環境はテスト環境と見なされ、コードベースは不安定で本番環境へのデプロイに適していない可能性があります。

## アクセス
<a name="access"></a>

最小特権の原則に従ってアクセス許可を割り当てます。*最小特権*は、タスクの実行に必要な最小限のアクセス許可を付与するというセキュリティのベストプラクティスです。開発者は、サンドボックス環境よりも開発環境へのアクセスが少なくなければなりません。

## ビルドステップ
<a name="build-steps"></a>

`develop` ブランチ (Gitflow) または`main`ブランチ (Trunk または GitHub Flow) へのマージリクエストを作成すると、ビルドが自動的に開始されます。

1. [git-secrets](https://github.com/awslabs/git-secrets) (GitHub) を使用して機密情報をスキャンする

1. ソースコードをリントする

1. 該当する場合は、ソースコードを構築してコンパイルします。

1. ユニットテストを実行する

1. コードカバレッジ分析を実行する

1. 静的コード分析を行う

1. ビルド IaC

1. IaC セキュリティ分析を実行する

1. オープンソースライセンスを抽出する

## デプロイ手順
<a name="deployment-steps"></a>

Gitflow モデルを使用している場合、`develop`ブランチが開発環境で正常に構築されると、デプロイステップが自動的に開始されます。GitHub フローモデルまたはトランクモデルを使用している場合、`main`ブランチに対してマージリクエストが作成されると、デプロイステップが自動的に開始されます。開発環境のデプロイ手順は次のとおりです。

1. ビルドステップから公開されたアーティファクトをダウンロードする

1. データベースのバージョニングを実行する

1. IaC デプロイを実行する

1. 統合テストを実行する

## テスト環境に移行する前の期待
<a name="expectations-before-moving-to-the-testing-environment"></a>
+ 開発環境における`develop`ブランチ (Gitflow) または`main`ブランチ (Trunk または GitHub Flow) のビルドとデプロイの成功
+ ユニットテストが 100% で合格
+ IaC ビルドの成功
+ デプロイアーティファクトが正常に作成されました
+ 開発者が手動検証を実行して、機能が期待どおりに機能していることを確認します。