Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
circleci/aws-sam-serverless を使ってみた 株式会社ゆめみ 谷 泰成
Slide 2
Slide 2 text
アジェンダ 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. まとめ
Slide 3
Slide 3 text
はじめに
Slide 4
Slide 4 text
話す内容 ● 今日お話すること ○ CircleCI OrbsやAWS SAMのざっくりとした紹介 ○ Hello Worldをちょっと工夫するために学んだことの紹介 ● このスライドにおける期待値(ゴール) ○ 入門者の方…「Hello World簡単じゃん!」と感じてCircleCIを触ってみてもらう ○ 経験者の方…「コイツよりもっと色々工夫できるぞ!」と次回登壇の敷居を下げる
Slide 5
Slide 5 text
自己紹介 @ystn_percode ● SREの文化を組織に広める活動 ● プロジェクトのインフラ設計・構築支援 ● AWS, GCPの社内トレーニング 谷 泰成|株式会社ゆめみ 社内活動 ● CircleCI User Community Leader(Osaka) ● AWS, GCPのインフラ設計・リプレイス支援(副業) 社外活動
Slide 6
Slide 6 text
circleci/aws-sam-serverless とは?
Slide 7
Slide 7 text
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
Slide 8
Slide 8 text
CircleCI Orbs たとえば… CircleCIのジョブからawscliを使ってごにょごにょしたい!
Slide 9
Slide 9 text
CircleCI Orbs Docker Imageを用 意しないと… aws configureで認 証しないと… commandsにセット アップを 書かないと… 考えることが多い!!
Slide 10
Slide 10 text
CircleCI Orbs Orbを使ってみる…
Slide 11
Slide 11 text
CircleCI Orbs ようこそ! AWSの世界へ!!
Slide 12
Slide 12 text
AWS SAM ● AWS SAM? ○ AWS Serverless Application Model(AWS SAM) ○ AWS上でサーバーレスアプリケーション を構築するために利用できるオープンソースのフレーム ワーク ○ サーバーレスアプリケーション は、Lambda関数、イベントソース、その他のリソースを 組み合わせてタスクを実行する ○ サーバーレスアプリケーション は単なるLambda関数だけではなく、APIやデータベース、イベント ソースのマッピングなどの追加リソースを含むことができる
Slide 13
Slide 13 text
AWS SAM ● サーバーレスアプリケーションの特徴 ○ 利用者がAWS上でゲストOSなどを管理しない ○ 必要なサーバーリソースはAWSの特定サービスを 利用する ○ アプリケーションのコード管理のみで サービス運用を実現する
Slide 14
Slide 14 text
Hello World
Slide 15
Slide 15 text
手動でAWS SAMをデプロイしてみる のインストール サンプルアプリケーションの生成 生成されたサンプルアプリケーションの構造を見る ├── ├── │ └── ├── │ ├── │ ├── │ └── ├── └── └── ├── └──
Slide 16
Slide 16 text
手動でAWS SAMをデプロイしてみる サンプルアプリケーションのビルド ビルド成果物が生成される └── ├── └── 以下略 にデプロイする
Slide 17
Slide 17 text
手動でAWS SAMをデプロイしてみる
Slide 18
Slide 18 text
手動でAWS SAMをデプロイしてみる
Slide 19
Slide 19 text
CircleCIで自動デプロイを設定する 必要な各種初期設定は割愛… GitHubリポジトリの作成 AWSアカウントの作成 CircleCIアカウントの作成 GitHubリポジトリとCircleCIアカウントの連携 sam initコマンドで生成したサンプルアプリケーションコード
Slide 20
Slide 20 text
CircleCIで自動デプロイを設定する の作成
Slide 21
Slide 21 text
CircleCIで自動デプロイを設定する
Slide 22
Slide 22 text
CircleCIで自動デプロイを設定する
Slide 23
Slide 23 text
CircleCIで自動デプロイを設定する
Slide 24
Slide 24 text
CircleCIジョブの環境変数を設定する 環境変数の設定は複数ある 1. BASH_ENV を使用した環境変数 2. シェルコマンドを使用した環境変数 3. steps、jobs、dockerなどで使用する environment: [ key: value ] 4. プロジェクトで設定する環境変数 5. コンテキストで設定する環境変数 6. APIを使用した環境変数 7. 定義済みの環境変数
Slide 25
Slide 25 text
CircleCIジョブの環境変数を設定する 環境変数の設定は複数ある 1. BASH_ENV を使用した環境変数 2. シェルコマンドを使用した環境変数 3. steps、jobs、dockerなどで使用する environment: [ key: value ] 4. プロジェクトで設定する環境変数 5. コンテキストで設定する環境変数 6. APIを使用した環境変数 7. 定義済みの環境変数
Slide 26
Slide 26 text
CircleCIジョブの環境変数を設定する プロジェクトで設定する環境変数
Slide 27
Slide 27 text
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
Slide 28
Slide 28 text
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
Slide 29
Slide 29 text
CircleCIジョブの環境変数を設定する コンテキストで設定する環境変数
Slide 30
Slide 30 text
CircleCIジョブの環境変数を設定する の作成
Slide 31
Slide 31 text
まとめ
Slide 32
Slide 32 text
まとめ CircleCI Orbsは欲しいものが公式にあるか探そう 無くても独自のOrbをOrb Registryで公開できる Orbの使い方はCircleCI DeveloperのSourceで確認しよう 複数のプロジェクトで使用する環境変数はContextでまとめて管理 しよう
Slide 33
Slide 33 text
No content