Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第1回 AWSとGitHub勉強会 - キックオフ -
Search
荻原利雄
September 18, 2023
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第1回 AWSとGitHub勉強会 - キックオフ -
荻原利雄
September 18, 2023
More Decks by 荻原利雄
See All by 荻原利雄
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
270
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
1.7k
Spring Frameworkの新標準!? ~ RestClientとHTTPインターフェース入門 ~
ogiwarat
4
3k
Spring Boot vs MicroProfile ~クラウドネイティブにおけるフレームワークの比較と選択~
ogiwarat
2
2.7k
第2回 AWSとGitHub勉強会 - CodespacesとHelidonの利用 -
ogiwarat
0
1.2k
第3回 AWSとGitHub勉強会 - GitHub Actionsを使ったCI環境の構築 -
ogiwarat
0
1.2k
第4回 AWSとGitHub勉強会 - GitHub Actionsを使ったCD環境の構築 -
ogiwarat
0
1.2k
第5回 AWSとGitHub勉強会 - AWS EC2環境の構築 -
ogiwarat
0
1.1k
第6回 AWSとGitHub勉強会 - AWS ECS Fargate環境の構築 -
ogiwarat
0
1.4k
Other Decks in Programming
See All in Programming
Java 27新機能 / Java 27 new features
kishida
2
130
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
210
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
680
XHTMLが残したもの
yosuke_furukawa
PRO
2
800
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.4k
Webの地図
yosuke_furukawa
PRO
6
4.5k
新卒PdEのリアル
ryu1013
1
500
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
350
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
520
Building an army of robots
kneath
307
46k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
480
Abbi's Birthday
coloredviolet
4
10k
Making the Leap to Tech Lead
cromwellryan
135
10k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Transcript
AWSとGitHubを使ってみよう勉強会 ~ 第1回 KickOff ~ 株式会社 豆蔵 ビジネスソリューション事業部 updated:2023/9/18
AWSとGitHubを使ってみよう勉強の概要 • 目的 • クラウドやAWSとか良く話にでてくるけど、それってオンプレと何が違うのか?どんな感じ で使うのか?そして何がそんなに嬉しいのかを体感する • 目標 • AWSやGitHubがこれでバッチリ!というところは目指さず、AWSやGitHubとかいっ
てもそんなに難しくないのね!結構便利ね!機会があったら今度は自分でなにか試 してみようかな!とクラウドやAWSへの心理的ハードルが下がるところ辺りを目指す 2
今回の勉強会の特徴 • 一方的に説明する講義スタイルではなく自習を中心とした反転学習形式 • 次回までに各自が実施してくるお題やポイントをまず解説 • 持ち帰り各自でお題を実施。分からないことはネットで自分で調べる。それでもわからない場合は質問す るか次回の勉強会で聞いてみる • 課題を出した次回は課題の解説とと皆さんからの質疑やディスカッションを行う
• 勉強会は上記を繰り返し行う。なお、お題を実施できなくても参加は可。ただし解説は自分で手を動 かしていることを前提にするので、その点は理解の上で参加のこと • 勉強会の内容は極々簡単なRESTアプリを作成→コンテナ化→AWS EC2(オンプレ)へ →ECS Fargate(サーバーレス)へと同じアプリをステップアップしながら別の実行環境で 動かしていく • GitHubは開発の中で使ってみてGitやクラウド上のCI/CDがどのようなものかを実際に体験してみる 3
勉強会実施内容 • 1回目:キックオフ • キックオフと次回のお題の説明 • 次回までのお題:Helidonを使った簡単なRESTアプリ(Mavenでビルド&テストしてJavaコマンドで実行できるまで)&開発にGit とGitHub Codespacesを使ってみる •
2回目:GitHub CodespacesとHelidonの利用 • 前回の課題の解説:GitHub CodespacesとHelidonについて • 次回までのお題:コミットしたHelidonのサンプルアプリをGitHub Actionsでビルド~テスト~デプロイしてみる • 3回目:GitHub Actionsを使ったCI環境の構築 • 前回のお題の解説:GitHub ActionsとGitHub Packagesについて • 次回までのお題:GitHub Actionsでビルド~テストしたものをDockerビルドしてGitHubのコンテナレジストリにデプロイ • 4回目:GitHub Actionsを使ったCD環境の構築 • 前回のお題の解説:コンテナイメージのビルドとGitHub Packages Container Registryについて • 次回までのお題:AWS EC2にDockerをインストールした環境を構築し、GitHubにデプロイしたイメージを動作させる • 5回目:AWS EC2環境の構築 • 前回のお題の解説:AWSのユーザと権限&AWSのネットワークの概要 • 次回までのお題:ECS Fargateを使ってGitHubにデプロイしたイメージを動作させる • 最終回:AWS ECS Fargate環境の構築 • 前回のお題の解説:環境変数を使ったアプリの動作の変更とECS Fargateとは 4
勉強会参加に必要なもの • GitHubおよびAWSの個人アカウント(今回は個人アカウントを使っていただきます。持っ ていなければ作成してもらいます) • GitHubは個人利用のため、すべて無料で使えます • AWSのアカウント登録にはクレジットカードが必要です。使わない場合はサービスを停止することで月 1000円未満程度の利用を想定しています •
なお、AWSはアカウントが乗っ取られた場合や誤って高額なサービスを利用した場合、高額な料金が請 求される可能性がありますので、その点は注意ください。勉強会でそうならないための必要事項は説明し ます。それを守っていただければ心配することはないです • 開発環境にはブラウザで利用可能なGitHub Codespacesを利用します • 個人PCにインストールしていただくものはありません 5
6 次回までの課題の説明
次回までの課題 • テーマ • 次回以降に使うサンプルアプリの作成 • GitHubのCodespacesとgit repositoryに慣れる • お題
• Helidonを使った簡単なRESTアプリ(Mavenでビルド&テストしてJavaコマンドで 実行できるまで) • 作ったアプリを自分のGitHubアカウントのリポジトリにコミットする • ゴール • 予め準備されたテストケースがパスすること • GitHubにプロジェクトがコミットされていること 7
課題の実施手順 Step1. GitHubアカウントを作成する(持っていない場合) Step2. リポジトリの作成&ひな形プロジェクトのimport Step3. Codespacesを開始する Step4. コードを修正してテストをパスさせる Step5.
修正したコードをコミットする 8 画面キャプチャやコマンド操作等はGitHubのssi- mz-studygroupユーザで行った例となります。キャ プチャやコマンド等の該当部分は自分のユーザIDに 読み替えてください ・ssi:simple server infra ・mz:mamezou
Step1. GitHubアカウントを作成する(持っていない場合)1/4 • 個人のGitHubアカウントを作成する 9 https://github.comから開始 必要なアカウント 情報を入力 登録したアドレスにメールがくるの でそこに載っている認証コードを入
力する
Step1. GitHubアカウントを作成する(持っていない場合)2/4 単なるアンケート 単なるアンケート 絶対にこっち(Free)を選択
Step1. GitHubアカウントを作成する(持っていない場合)3/4 🙌ここまでくれば完了🙌
Step1. GitHubアカウントを作成する(持っていない場合)4/4 • 個人のFreeプランでパブリックリポジトリを使えば、Codespacesを除きなにをいくら 使ってもタダ • 見たとおりクレジットカード登録はないので気が付いたらたくさん課金されていた!という ことはないので安心 • 反対にAWSはクレジットカード登録があるので要注意
• よって、利用量はCodespacesを除き全く気にする必要はない • 気をつけるべきはセキュリティの1点のみ! • パブリックリポジトリを使うので、個人情報や機微情報は挙げないこと(例)電話番号やAWSのア クセスキーなど • 会社の資料やソースコードは絶対に挙げないこと 12
Step2. リポジトリの作成&ひな形プロジェクトのimport 1/3 • (本題とは関係ないが)ダークモードに変更する メニューボタンをポチっ 好みのを選択
Step2. リポジトリの作成&ひな形プロジェクトのimport 2/3 • welcomeページに移動(https://github.com/) ひな形プロジェクトのURLを入力 https://github.com/mamezou-tech/try-aws-github-learning リポジトリ名(任意)を入力 publicを選択 入力完了後
https://github.com/mamezou-tech/try-aws-github-learning この例ではssi-mz-studygroupユーザの my-sample-appリポジトリにひな形プロ ジェクトをインポートしています。
Step2. リポジトリの作成&ひな形プロジェクトのimport 3/3 • import完了 これと同じファイル/ディレクトリが importされていること 入力したプロジェクト名 Importing complete!になったら
ココから移動 mamezou-tech/try-aws-github-learning
Step3. Codespacesを開始する 1/3 • GitHub Codespacesとは 16 • 構成ファイルをもとにビルドされたコンテナイメージから生成されたコンテナインスタンスを個別の開発環境としてユーザに提供す る機能
• ユーザはブラウザもしくはローカルのVSCodeから生成されたコンテナインスタンスに接続して作業を行う • ユーザは目の前にあるブラウザやVSCodeを操作するが、リポジトリからチェックアウトしたファイルやJavaのビルドや実行などは すべてGitHub側のコンテナ内に存在し行われます 個人アカウントでも2コアCPU/4GBメモリ のリソースを月60時間まで無料で使うこ とができる
Step3. Codespacesを開始する 2/3 17 開始! 数分待つと
Step3. Codespacesを開始する 3/3 18 他にも色々案内がでてくるがすべ て何もせず閉じるOK 画面が立ち上がって諸々拡張機能が有効になる まで少し時間が掛かる JAVA PROJECTタブ⇒MAVENタブの順番でタ
ブがでてくるので2つ出るまでしばらく待つ→出たら 完了 ボタンをクリックしてJavaプ ロジェクトとして認識させる
Step4. コードを修正してテストをパスさせる 1/2 テストコードを見て修正
Step4. コードを修正してテストをパスさせる 2/2 これをクリックするとテストが実行される。 修正前は失敗するので、失敗した内容 を確認してテストがとおるように先ほどの コードを修正する。 修正がに必要なのは1か所だけ
Step5. 修正したコードをコミットする 1/1 21 コミット対象に追加する コメント入力 クリック クリック • リポジトリに反映されているか確認してみよう!
• コミットと変更の同期の違いを調べてみよう! (ヒント:リモートとローカル) • Git graphで変更を確認してみよう(インストール済 み) <学習テーマ>
これでゴールです🙌 • 誤って削除したりしても同じ手順でリポジトリは再作成できるので思い切っていろいろや りましょう • 人様のリポジトリを弄っても権限がないので、誤って削除はできません。なので思い切っ ていろいろ弄ってみましょう • GitHub/ Git
/ Codespaces(VSCode) はメジャーなツールなのでググればいろい ろ出てきます。 • 分からないこと、疑問に思ったことはグーグル先生に聞いて調べてみましょう • Codespacesを使い終わったら停止するようにしましょう。 GitHub CodespacesによるJavaのチーム開発環境の作り方 | 豆蔵デベロッパーサイト ⇒開発環境(コンテナ)のライフサイクル を参照 22
次回の予定 • 今回の課題の説明 • 補足説明と質疑応答 • 次回までの課題の説明 • テーマはGitHub Actionsを使ったCI/CD(ビルドからjarのPackageレジストリへのアップまで)
23