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
660
CircleCI AWS-SAM-SERVERLESSを使ってみた
【オンライン】【ソフトウェアテスト自動化LT大会編】CircleCI コミュニティミートアップにてお話しました。
yastani
October 26, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
UI State設計とテスト方針
rmakiyama
2
600
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
330
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
160
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
5分でわかるDuckDB
chanyou0311
10
3.2k
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
550
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
140
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building Applications with DynamoDB
mza
91
6.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Making Projects Easy
brettharned
116
5.9k
Designing for Performance
lara
604
68k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A Philosophy of Restraint
colly
203
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
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