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
Orbsを使ってAWSへ簡単デプロイ
Search
Kim, Hirokuni
February 23, 2019
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Orbsを使ってAWSへ簡単デプロイ
JAWS Days 2019での登壇資料
Kim, Hirokuni
February 23, 2019
More Decks by Kim, Hirokuni
See All by Kim, Hirokuni
How We Migrated K8S Without Downtime
kimh
0
250
エンジニアが起業する意味: 起業経験ゼロから電動キックボード 事業を創る話
kimh
0
1.5k
K8sとTraefikでつくるマイクロフロントエンド
kimh
14
3.1k
CI/CDを使い倒して数段上のソフトウェア開発をしよう (デブサミ関西)
kimh
2
1.2k
デブサミ福岡: CI/CDを使い倒して数段上のソフトウェア開発をしよう
kimh
0
760
CircleCI 2.0を支える2つの コンテナクラスターとSRE
kimh
6
6.4k
なぜ今CI/CDがアジャイル組織に必要とされるのか?
kimh
0
380
CircleCI 2.0を支える2つのコンテナクラスター
kimh
2
4.9k
CircleCI 2.0を支えるインフラとSREの役割
kimh
5
2.5k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Navigating Team Friction
lara
192
16k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Making Projects Easy
brettharned
120
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Statistics for Hackers
jakevdp
799
230k
Embracing the Ebb and Flow
colly
88
5.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Transcript
1 Orbsを使ってAWSへ簡単デ プロイ #jawsdays #circlecijp
2 イントロダクション
3 宣伝 (会社) • 日本語サポート • ドキュメントの日本語化 • ユーザーコミュニティー CircleCI初の海外支社
@CircleCIJapan
4 自己紹介: Kim, Hirokuni (金 洋国) - 元CircleCI 開発者 -
CircleCI Japan Tech Lead ”この発言は個人の見解ではなく所属する組 織を代表しています”
5 宣伝 (個人) 電動キックボードを体験できるサービス Hop-on! を運営 • 日本で唯一のサービス(のはず) • “みなとみらい”
“電動キックボード” 検索 • 続きは https://www.hop-on.jp/ で!
6 解決したい問題
7 その前に: CircleCIの思想 • コンフィグはファイルに書かれるべき • 明示的であるべき • No Magic!
デメリット - 1から設定を書かないといけない - 冗長になる
8 CircleCIとAWSを連携するのは色々大変
9 AWS連携の問題 • aws cliちゃんとインストールしたり... • docker loginでecrにログインしないとだったり... • 手動でaws
CLIをバシバシ叩かないといけない... • 同じようなプロジェクトが複数あると大変
10 解決方法
11 CircleCI Orbsを使おう
12 Orbsとは? • コンフィグのパッケージ機構 • プロジェクトをまたいで共有可能 • 誰でも登録して使える
13 Orbsレジストリ Orbsの種類 - Certified (CircleCI) - Partner (CircleCI認定パートナー) -
3rd Party (その他) https://circleci.com/orbs/registry
14 Demo
15 デモイメージ http://kim-app2-612788733.us-ea st-1.elb.amazonaws.com/
16 準備: 環境変数の設定 APIキーとパスを環境変数から登録しておく
17 ECRへDockerイメージのデプロイ version: 2.1 orbs: aws-ecr: circleci/
[email protected]
# ECRのOrbをインポート workflows:
build-and-deploy: jobs: - aws-ecr/build_and_push_image: # 用意されているジョブにパラメータを渡して呼ぶ account-url: AWS_ECR_ACCOUNT_URL # ECRのアカウントの環境変数 repo: 'nginx' # イメージのレポジトリ tag: '${CIRCLE_SHA1}' # イメージのタグにコミットのSHAを使う https://github.com/kimh/picard-test/blob/jaws-days/.circleci/config.yml
18 ECSへサービスのデプロイ version: 2.1 orbs: ... aws-ecs: circleci/
[email protected]
# ECSのOrbをインポート
workflows: build-and-deploy: jobs: - aws-ecr/build_and_push_image: ... - aws-ecs/deploy-service-update: # 用意されているジョブにパラメータを渡して呼ぶ requires: - aws-ecr/build_and_push_image # 最初にnginxイメージをビルド family: 'kim-app-nginx' # ECSのタスク定義 cluster-name: 'default-kim5' # ECSのクラスター名 # タスクで使うコンテナイメージを指定 container-image-name-updates: 'container=nginx,image-and-tag=833371238208.dkr.ecr.us-east-1.amazonaws.com/nginx:${CIRCLE_SHA1}' https://github.com/kimh/picard-test/blob/jaws-days/.circleci/config.yml
19 結果 370 → 20
20 結果 コンフィグの削減量 370行 → 20行 展開されたコンフィグは https://circleci.com/gh/kimh/picard-test/3219#config/containers/0 で確認できます
21 まとめ
22 まとめ • AWSのOrbsでECR/ECSへのデプロイが簡単に • コンフィグの量を劇的にコンパクトにできる • Orbsは誰でも登録して使える
23 CircleCI ユーザーコミュニティーのご紹介 FB Community Group @CircleCIJapan
24 Orbsの由来 Orb (オーブ)
25 Orbsの由来 Orb (オーブ) 丸い
26 Orbsの由来 Orb (オーブ) 丸い Circle
27 お後がよろしいようで