CodeStar
CodeStarとは、ソフトウェア開発プロジェクトを作成、管理、および操作するクラウドベースのAWSのサービスです。アプリケーションをすばやく開発、構築、およびデプロイすることを可能にします。
プロジェクトのテンプレートが多数用意されているので、実際に数クリックでプロジェクトが開始できます!
CodeStarのプロジェクトの作り方は前回の記事をご参考ください。
Cloud9
Cloud9とは、ブラウザベースでコードを記述・実行・デバッグできるクラウドベースの統合開発環境(IDE)です。様々なプログラム言語に対応しており、AWS CLIや開発に必要なツール類があらかじめパッケージ化されているのですばやく開発作業に取り掛かることができます。
Cloud9の設定
CodeStarのプロジェクト画面の「AWS Cloud9の設定」を押下します。
Cloud9環境の設定を行います。
今回は、環境名だけ入力してサクッと「環境の作成」押下。
※インスタンスタイプは、スペック不足を感じたら拡張すればよいので t2.micro スタートでOK。
※VPC・サブネットは、Cloud9専用のパブリックサブネットを作成しておいた方が好ましいです。
CodeStarのプロジェクトにCloud9が追加されました。
Cloud9へアクセス
作成されたCloud9の[Open IDE]を押下するとCloud9の環境にアクセスできます。
ここから開発作業が開始できます。
CodeStarプロジェクトにCloud9を設定するだけで、CodeCommit リポジトリのクローンがローカルマシンに作成されていました。わざわざ自分でCloneする必要はないのですね。
ちなみに中身はこのような構成になっています。
$ tree
.
├── buildspec.yml # CodeBuildでアプリケーションをパッケージ化するために使用するファイル
├── index.py # サンプルプログラム「HelloWorld」
├── README.md # 本PJを説明するファイル
├── template-configuration.json # プロジェクトIDでリソースにタグ付けするために使用するファイル
├── template.yml # CloudFormationがアプリケーションをデプロイするために使用するSAMテンプレート
└── tests # ユニットテスト用フォルダ
└── test_handler.py # ユニットテストプログラム
サンプルプログラムのローカル実行
サンプルプログラムをローカルで実行してみましょう。
# Python仮想環境を作成します。
$ virtualenv .venv
Using base prefix '/usr'
New python executable in /home/ec2-user/environment/.venv/bin/python3.6
Not overwriting existing python script /home/ec2-user/environment/.venv/bin/python (you must use /home/ec2-user/environment/.venv/bin/python3.6)
Installing setuptools, pip, wheel...
done.
pythonのバージョンが3.6と古いけど、今は気にしない。
他システムに影響を及ぼすことなくパッケージをインストールできるPython仮想環境(.venv)のディレクトリが作成される。
# 仮想環境を起動する
$ source .venv/bin/activate
(.venv)
(.venv)と表示されたらOK。
# SAM CLI でローカル環境でAPI Gatewayを起動する
(.venv) $ cd <プロジェクトID>
(.venv) xxx (master) $ sam local start-api -p 8080
・・・
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
「Running on http://127.0.0.1:8080/」と表示されたら準備OK。
ローカル環境に起動したAPI Gatewayにアクセスしてみます。
# ローカル環境のAPI Gatewayにアクセス
$ curl http://127.0.0.1:8080/
{"output": "Hello World", "timestamp": "2022-01-28T14:06:42.334828"}
Hello World.
# 仮想環境を停止する
(.venv) $ deactivate
Cloud9のディスクサイズ拡張
Cloud9の初期ディスクサイズは10GBしか確保しておらず、すぐに空き容量が足りなくなります。
以下の記事を参考にディスクサイズを最低20GB程度に拡張しておきましょう。
まとめ
CodeStarにCloud9を設定するだけで、いざプログラム開発を開始するまでの環境を数分で用意できました。(JAVAとかの開発環境の構築は何かと数時間単位で行っていたのが懐かしく思います。。)
あとは、ローカル環境でプログラムを作成し、CodeCommitへPushして自動的にAWS環境へデプロイする流れになります。