Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CircleCI AWS-SAM-SERVERLESSを使ってみた
Search
yastani
October 26, 2020
Technology
2
690
CircleCI AWS-SAM-SERVERLESSを使ってみた
【オンライン】【ソフトウェアテスト自動化LT大会編】CircleCI コミュニティミートアップにてお話しました。
yastani
October 26, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
410
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
100
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
150
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
960
AIエージェント完全に理解した
segavvy
4
270
Symfony in 2025: Scaling to 0
fabpot
2
200
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
110
コンソールで学ぶ!AWS CodePipelineの機能とオプション
umekou
2
120
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
250
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
160
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
2
440
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.2k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Visualization
eitanlees
146
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Typedesign – Prime Four
hannesfritz
41
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
How STYLIGHT went responsive
nonsquared
99
5.4k
Transcript
circleci/aws-sam-serverless を使ってみた 株式会社ゆめみ 谷 泰成
アジェンダ 1. はじめに a. 話す内容 b. 自己紹介 2. circleci/aws-sam-serverless
とは? a. CircleCI Orbs b. AWS SAM 3. Hello World a. 手動でAWS SAMをデプロイしてみる b. CircleCIで自動デプロイを設定する c. CircleCIジョブの環境変数を設定する 4. まとめ
はじめに
話す内容 • 今日お話すること ◦ CircleCI OrbsやAWS SAMのざっくりとした紹介 ◦ Hello
Worldをちょっと工夫するために学んだことの紹介 • このスライドにおける期待値(ゴール) ◦ 入門者の方…「Hello World簡単じゃん!」と感じてCircleCIを触ってみてもらう ◦ 経験者の方…「コイツよりもっと色々工夫できるぞ!」と次回登壇の敷居を下げる
自己紹介 @ystn_percode • SREの文化を組織に広める活動 • プロジェクトのインフラ設計・構築支援 • AWS,
GCPの社内トレーニング 谷 泰成|株式会社ゆめみ 社内活動 • CircleCI User Community Leader(Osaka) • AWS, GCPのインフラ設計・リプレイス支援(副業) 社外活動
circleci/aws-sam-serverless とは?
CircleCI Orbs • circleci/aws-sam-serverless? ◦ AWS SAMを利用した、サーバーレスアプリケーションのCI/CD(ビルド、テスト、デプロイ)をサポー トするCircleCI Orbsの一つ
https://github.com/CircleCI-Public/aws-sam-serverless-orb • CircleCI Orbs? ◦ Orbs は、CircleCIのconfig.ymlに定義するcommandsやjobsなどの構成を簡略化する 設定ファイルのパッケージ ◦ これはプロジェクト内、またはプロジェクト間で共有や再利用ができる https://circleci.com/docs/ja/2.0/jobs-steps/#section=getting-started
CircleCI Orbs たとえば… CircleCIのジョブからawscliを使ってごにょごにょしたい!
CircleCI Orbs Docker Imageを用 意しないと… aws configureで認 証しないと… commandsにセット アップを
書かないと… 考えることが多い!!
CircleCI Orbs Orbを使ってみる…
CircleCI Orbs ようこそ! AWSの世界へ!!
AWS SAM • AWS SAM? ◦ AWS Serverless Application Model(AWS
SAM) ◦ AWS上でサーバーレスアプリケーション を構築するために利用できるオープンソースのフレーム ワーク ◦ サーバーレスアプリケーション は、Lambda関数、イベントソース、その他のリソースを 組み合わせてタスクを実行する ◦ サーバーレスアプリケーション は単なるLambda関数だけではなく、APIやデータベース、イベント ソースのマッピングなどの追加リソースを含むことができる
AWS SAM • サーバーレスアプリケーションの特徴 ◦ 利用者がAWS上でゲストOSなどを管理しない ◦ 必要なサーバーリソースはAWSの特定サービスを
利用する ◦ アプリケーションのコード管理のみで サービス運用を実現する
Hello World
手動でAWS SAMをデプロイしてみる のインストール サンプルアプリケーションの生成 生成されたサンプルアプリケーションの構造を見る ├── ├── │ └── ├──
│ ├── │ ├── │ └── ├── └── └── ├── └──
手動でAWS SAMをデプロイしてみる サンプルアプリケーションのビルド ビルド成果物が生成される └── ├── └── 以下略 にデプロイする
手動でAWS SAMをデプロイしてみる
手動でAWS SAMをデプロイしてみる
CircleCIで自動デプロイを設定する 必要な各種初期設定は割愛… GitHubリポジトリの作成 AWSアカウントの作成 CircleCIアカウントの作成 GitHubリポジトリとCircleCIアカウントの連携 sam initコマンドで生成したサンプルアプリケーションコード
CircleCIで自動デプロイを設定する の作成
CircleCIで自動デプロイを設定する
CircleCIで自動デプロイを設定する
CircleCIで自動デプロイを設定する
CircleCIジョブの環境変数を設定する 環境変数の設定は複数ある 1. BASH_ENV を使用した環境変数 2. シェルコマンドを使用した環境変数 3.
steps、jobs、dockerなどで使用する environment: [ key: value ] 4. プロジェクトで設定する環境変数 5. コンテキストで設定する環境変数 6. APIを使用した環境変数 7. 定義済みの環境変数
CircleCIジョブの環境変数を設定する 環境変数の設定は複数ある 1. BASH_ENV を使用した環境変数 2. シェルコマンドを使用した環境変数 3.
steps、jobs、dockerなどで使用する environment: [ key: value ] 4. プロジェクトで設定する環境変数 5. コンテキストで設定する環境変数 6. APIを使用した環境変数 7. 定義済みの環境変数
CircleCIジョブの環境変数を設定する プロジェクトで設定する環境変数
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
CircleCIジョブの環境変数を設定する の作成
まとめ
まとめ CircleCI Orbsは欲しいものが公式にあるか探そう 無くても独自のOrbをOrb Registryで公開できる Orbの使い方はCircleCI DeveloperのSourceで確認しよう 複数のプロジェクトで使用する環境変数はContextでまとめて管理 しよう
None