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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.5k
なぜ今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
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
320
How to Ace a Technical Interview
jacobian
281
24k
Abbi's Birthday
coloredviolet
2
8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Designing for humans not robots
tammielis
254
26k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Scaling GitHub
holman
464
140k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
GraphQLとの向き合い方2022年版
quramy
50
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Building the Perfect Custom Keyboard
takai
2
790
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 お後がよろしいようで