
講座の概要について解説します。
DevOpsが必要とされる背景について、関連する以下のような用語とあわせて考えていきます。
ウォーターフォール開発
アジャイル開発
DevOps
本講座の構成について、各セクションの概要を解説します。
組織.チーム
プロジェクト
リポジトリ
CI/CD
本講座を受講いただくにあたっての前提について以下の観点で解説します。
利用サービス(事前に作成が必要なアカウント)
利用ツール(事前に開発マシンへインストールが必要なソフト)
前提知識(本講座で必要とされる事前知識)
GitHub Actions を使ってシェルスクリプトを実行してみます。
本セクションで学習する内容について確認します。
GitHub上に「組織(Organization)」を作成します。
GitHub上に「チーム(Team)」を作成します。
本セクションで学習する内容について確認します。
GitHub上に「プロジェクト(Project)」を作成します。
作成したプロジェクトにタスクを追加、編集、削除する方法を学習します。
タスクに付与できるカスタムフィールド(メタデータ)について、追加/編集/削除する方法を学習します。
プロジェクトのビューを作成、編集する方法を学習します。
イテレーションごとのカンバン表示やイシューの一覧、フィルターを実施する具体的な方法を学びます。
本セクションで学習する内容について確認します。
GitHubの「組織(Organization)」に「リポジトリ(Repository)」を作成します。
Gitを組織で利用する際、ブランチ戦略がなぜ必要なのか、代表的なブランチ戦略はどんなものがあるのか、について学習します。
代表的なブランチ戦略の1つ「Git-flow」のフローについて学習します。
代表的なブランチ戦略の1つ「GitHub-flow」のフローについて学習します。
代表的なブランチ戦略の1つ「GitLab-flow」のフローについて学習します。
ブランチ戦略をより確かに運用していくため、ブランチ保護が必要になります。
本レクチャーではGitHubにおいてブランチ保護を実装する方法について学習します。
GitHubでブランチ保護を実際に実装してみます。
本講座で構築するアプリケーションについて、アプリの概要、インフラの概要を確認します。
本セクションで学習する内容について確認します。
初期インフラを構築でerraformを実行するため、必要となるAWSのユーザー、バケットを用意します。
terraformを利用してAWS上にインフラを展開します。
AWSに展開されたRDSへ接続して、DBの初期化を行います。
ローカル環境でDockerイメージをビルド、AWSのコンテナレジストリへプッシュします。
プッシュされたコンテナが展開されてアプリが動作し始めていることを確認します。
本セクションで学習する内容について確認します。
GitHub Actions の基本要素として以下について学習します。
ワークフロー
ジョブ
ステップ
ワークフローの記述方法
トリガーとはどのようなもので、どんな種類があるのかについて学習します。
push、pull_requestトリガーについて実装方法を学習します。
scheduleトリガーについて実装方法を学習します。
workflow_dispatchトリガーについて実装方法を学習します。
workflow_runトリガーについて実装方法を学習します。
ジョブについて実装方法を学習します。
ステップとはどのようなものが含まれるのか、について学習します。
ステップの run について実装方法を学習します。
ステップの uses について実装方法を学習します。
GitHub Actions のランナーにはどのような種類があるのか、何が含まれているのか、について実装方法を学習します。
GitHub Actions で環境変数をどう使うのか、利用可能なデフォルト環境変数にどのようなものがあるのかについて実装方法を学習します。
GitHub Actions で秘匿情報を扱う方法について学習します。
ワークフローで式とコンテキストを実装する方法を学習します。
本セクションで学習する内容について確認します。
GitHub Actions (GHA)から AWS へインフラを展開するための連携方法の概要について学習します。
GitHub Actions とAWSを連携させるため、AWS側にIDプロバイダーを作成します。
GitHub Actions とAWSを連携させるため、AWS側にIAMロールを作成します。
GitHub Actions とAWSを連携させるため、ワークフローにアクセス権限を設定します。
本セクションで学習する内容について確認します。
GitHub Actions のフローのうち set up に相当する処理を実装します。
GitHub Actions のフローのうち terraform fmt に相当する処理を実装します。
GitHub Actions のフローのうち terraform init に相当する処理を実装します。
GitHub Actions のフローのうち terraform validate に相当する処理を実装します。
GitHub Actions のフローのうち terraform plan に相当する処理を実装します。
本セクションで学習する内容について確認します。
GitHub Actions のジョブ間の依存関係を実装する方法について学習します。
GitHub Actions におけるエラー処理の方法についてジョブとステップそれぞれについて学習します。
GitHub Actions で実行結果をジョブ間やステップ間でやりとりするための方法について学習します。
GitHub Actions のステップやジョブを実行する際、条件によって実行するかしないかを判定するための仕組みについて学習します。
GitHub Actions で承認フローを実現する方法について学習します。
GitHub Actions から Slack 通知を行うための実装方法について概要を学習します。
GitHub Actions から Slack 通知を行う実装を実際に行います。
本講座では「GitHub Actions と AWS を活用した DevOps 環境の構築方法」を学びます。
DevOpsとはよく聞くけど実際にどのように環境準備すると良いのかまだイメージが湧かないといったことがあるかと思います。
本講座はそんな悩みがある人やこれから挑戦していきたいといった方にとってのガイドとなるべく、GitHubを120%活用していく方法を解説していきます。
ぜひ一緒に手を動かしながらDevOps環境を構築する方法を身につけていきましょう!
【概要】
組織/チーム
組織作成
チーム作成
プロジェクト
プロジェクト作成
タスク管理
カスタムフィールド管理
ビュー管理
リポジトリ
リポジトリ作成
ブランチ戦略
ブランチ保護
GitHub Actions を使ったCI/CD
GitHub Actions の基本
ワークフロー
トリガー
ジョブ
ステップ
ランナー
環境変数
シークレット
式とコンテキスト
ジョブ間の依存
エラー処理
ジョブ間、ステップ間のデータ受け渡し
条件分岐
承認フロー
Slack通知
GitHub Actions ⇔ AWS 連携
CI/CD の実装
プレビュー
デプロイ
【更新履歴】
v1.0.0 2022/10/20 初版リリース