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
Orbsを使ってAWSへ簡単デプロイ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kim, Hirokuni
February 23, 2019
85
0
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
260
エンジニアが起業する意味: 起業経験ゼロから電動キックボード 事業を創る話
kimh
0
1.6k
K8sとTraefikでつくるマイクロフロントエンド
kimh
14
3.1k
CI/CDを使い倒して数段上のソフトウェア開発をしよう (デブサミ関西)
kimh
2
1.2k
デブサミ福岡: CI/CDを使い倒して数段上のソフトウェア開発をしよう
kimh
0
780
CircleCI 2.0を支える2つの コンテナクラスターとSRE
kimh
6
6.5k
なぜ今CI/CDがアジャイル組織に必要とされるのか?
kimh
0
390
CircleCI 2.0を支える2つのコンテナクラスター
kimh
2
4.9k
CircleCI 2.0を支えるインフラとSREの役割
kimh
5
2.5k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
330
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 お後がよろしいようで