[レポート]Github ActionsによるAWSの継続的デリバリ #DOP322-S #reinvent

はじめに

DOP322-S - Continuous delivery to AWS with GitHub Actionsのセッションレポートです。

Continuous delivery to AWS with GitHub Actions

GitHub Actionsの要素

Workflow
リポジトリ内でセットアップできる、編集可能な自動化されたプロセス
Event
Workflowが各イベントにて実行するもの
Actions
Workflow内で作成したジョブを順番に組み立てる、作業における個々のユニット

初めての場合は以下のリポジトリから触ってみましょう。

actions/starter-workflows: Accelerating new GitHub Actions workflows

料金

パブリックリポジトリ

無料。We love open source

プライベートリポジトリ

以下の時間内であれば、料金の請求が発生しません。

Plan minutes per month
Free 2,000
Pro 3,000
Team 10,000
Enterprise 50,000

それ以降での料金請求額です。

OS per minutes
Linux
(2core 7GB)
$0.008
Windows
(2core 7GB)
$0.016
macOS
(2core 7GB)
$0.08
Self-hosted Free

Actionsを作成してみる

GitHub Actions Toolkitを使ってみましょう。

actions/toolkit: The GitHub ToolKit for developing GitHub Actions.

DEMOアプリケーション

Octochat

当セッションのメインでした。

github-developer/octochat-aws

git clone git@github.com:github-developer/octochat-aws.git
cd octochat-aws
mv .env.example .env
docker build -t octochat -f Dockerfile.develop .
./script/server.sh

http://localhost:49160/ にてアクセスできます。

あるいは、forkした上でブラウザ上からworkflowを色々書き換えて試してみるのもありです。

Amazon ECSへのデプロイ

上記アプリケーションのECSへデプロイしたログをActionsからたどることができます。

Merge pull request #4 from github-developer/feature/conversation · github-developer/octochat-aws@1c56312

尚、セッション中に動作させていたActionsについては以下の通り。

dump aws access key · github-developer/octochat-aws@d6cbbb8

おさらい

とにかく触って試してみよう、という趣旨でした。パブリックリポジトリであれば費用が発生しないので、今回のDEMOアプリを元に色々といじってみましょう。