Submit Search
Upload
Deploy TypeScript with CodePipeline in Fargate
•
0 likes
•
717 views
bitbank, Inc. Tokyo, Japan
Follow
Node学園祭 2018の登壇資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略
bitbank, Inc. Tokyo, Japan
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
Lightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
bitbank, Inc. Tokyo, Japan
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用
bitbank, Inc. Tokyo, Japan
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
Recommended
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略
bitbank, Inc. Tokyo, Japan
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
Lightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
bitbank, Inc. Tokyo, Japan
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用
bitbank, Inc. Tokyo, Japan
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
bitbank, Inc. Tokyo, Japan
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
bitbank, Inc. Tokyo, Japan
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
TypeScriptでライトニングネットワークを使ってみよう
TypeScriptでライトニングネットワークを使ってみよう
bitbank, Inc. Tokyo, Japan
Ethereumのシャーディング概論
Ethereumのシャーディング概論
bitbank, Inc. Tokyo, Japan
bitbankフロントエンド開発について
bitbankフロントエンド開発について
Kou Matsumoto
MagicOnion入門
MagicOnion入門
torisoup
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018spring
capsmalt
GraalVM Native Imageが見せた未来
GraalVM Native Imageが見せた未来
Rakuten Group, Inc.
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
Miniascape
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Takuya Iwatsuka
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
真吾 吉田
Riotでサーバレスにした話
Riotでサーバレスにした話
Hiroyuki Hara
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
Takuya Iwatsuka
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
capsmalt
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
capsmalt
そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)
輝 子安
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
More Related Content
What's hot
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
bitbank, Inc. Tokyo, Japan
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
bitbank, Inc. Tokyo, Japan
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
TypeScriptでライトニングネットワークを使ってみよう
TypeScriptでライトニングネットワークを使ってみよう
bitbank, Inc. Tokyo, Japan
Ethereumのシャーディング概論
Ethereumのシャーディング概論
bitbank, Inc. Tokyo, Japan
bitbankフロントエンド開発について
bitbankフロントエンド開発について
Kou Matsumoto
MagicOnion入門
MagicOnion入門
torisoup
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018spring
capsmalt
GraalVM Native Imageが見せた未来
GraalVM Native Imageが見せた未来
Rakuten Group, Inc.
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
Miniascape
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Takuya Iwatsuka
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
真吾 吉田
Riotでサーバレスにした話
Riotでサーバレスにした話
Hiroyuki Hara
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
Takuya Iwatsuka
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
capsmalt
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
capsmalt
そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)
輝 子安
What's hot
(20)
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
TypeScriptでライトニングネットワークを使ってみよう
TypeScriptでライトニングネットワークを使ってみよう
Ethereumのシャーディング概論
Ethereumのシャーディング概論
bitbankフロントエンド開発について
bitbankフロントエンド開発について
MagicOnion入門
MagicOnion入門
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018spring
GraalVM Native Imageが見せた未来
GraalVM Native Imageが見せた未来
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
Riotでサーバレスにした話
Riotでサーバレスにした話
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)
Similar to Deploy TypeScript with CodePipeline in Fargate
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
DeNA
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
Kazuki Murahama
オレ流クラウドデザイン
オレ流クラウドデザイン
Atsushi Kojima
初めてのWebプログラミング講座
初めてのWebプログラミング講座
DIVE INTO CODE Corp.
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
Daisuke Ikeda
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
Amazon Web Services Japan
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
史識 川原
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Akira Inoue
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
NTT Software Innovation Center
GitLab で実現する Ansible コードの管理
GitLab で実現する Ansible コードの管理
裕貴 荒井
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
CData Software Japan
Realm platform2019
Realm platform2019
昌桓 李
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
CASAREAL, Inc.
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
Similar to Deploy TypeScript with CodePipeline in Fargate
(20)
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
オレ流クラウドデザイン
オレ流クラウドデザイン
初めてのWebプログラミング講座
初めてのWebプログラミング講座
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
GitLab で実現する Ansible コードの管理
GitLab で実現する Ansible コードの管理
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
Realm platform2019
Realm platform2019
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
More from bitbank, Inc. Tokyo, Japan
インフラチームの歴史とこれから
インフラチームの歴史とこれから
bitbank, Inc. Tokyo, Japan
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
bitbank, Inc. Tokyo, Japan
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンク流 アジャイル開発の紹介.pdf
bitbank, Inc. Tokyo, Japan
ビットバンクで求められるプロジェクトマネジメント
ビットバンクで求められるプロジェクトマネジメント
bitbank, Inc. Tokyo, Japan
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
bitbank, Inc. Tokyo, Japan
ビットバンクのマッチングエンジン.pdf
ビットバンクのマッチングエンジン.pdf
bitbank, Inc. Tokyo, Japan
bitbank Corporate Information
bitbank Corporate Information
bitbank, Inc. Tokyo, Japan
ng build --prod & Continuous Delivery
ng build --prod & Continuous Delivery
bitbank, Inc. Tokyo, Japan
マーブル図で怖くないRxJS
マーブル図で怖くないRxJS
bitbank, Inc. Tokyo, Japan
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
bitbank, Inc. Tokyo, Japan
Daocasinoにおけるstate channel実装
Daocasinoにおけるstate channel実装
bitbank, Inc. Tokyo, Japan
20181108 bitbank lt-maintainable-e2e-testing
20181108 bitbank lt-maintainable-e2e-testing
bitbank, Inc. Tokyo, Japan
Angular Refactoring in Real World
Angular Refactoring in Real World
bitbank, Inc. Tokyo, Japan
アプリケーション開発目線から考える テストの書き方について
アプリケーション開発目線から考える テストの書き方について
bitbank, Inc. Tokyo, Japan
Asana handson
Asana handson
bitbank, Inc. Tokyo, Japan
RDBMS with Node.js
RDBMS with Node.js
bitbank, Inc. Tokyo, Japan
bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
bitbank, Inc. Tokyo, Japan
More from bitbank, Inc. Tokyo, Japan
(17)
インフラチームの歴史とこれから
インフラチームの歴史とこれから
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンクで求められるプロジェクトマネジメント
ビットバンクで求められるプロジェクトマネジメント
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクのマッチングエンジン.pdf
ビットバンクのマッチングエンジン.pdf
bitbank Corporate Information
bitbank Corporate Information
ng build --prod & Continuous Delivery
ng build --prod & Continuous Delivery
マーブル図で怖くないRxJS
マーブル図で怖くないRxJS
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
Daocasinoにおけるstate channel実装
Daocasinoにおけるstate channel実装
20181108 bitbank lt-maintainable-e2e-testing
20181108 bitbank lt-maintainable-e2e-testing
Angular Refactoring in Real World
Angular Refactoring in Real World
アプリケーション開発目線から考える テストの書き方について
アプリケーション開発目線から考える テストの書き方について
Asana handson
Asana handson
RDBMS with Node.js
RDBMS with Node.js
bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
Deploy TypeScript with CodePipeline in Fargate
1.
ビットバンク株式会社 Deploy TypeScript with
CodePipeline in Fargate shogo ishikawa / bitbank, Inc 東京Node学園祭 Day2-LT 2018/11/24
2.
Copyright © bitbank,
inc. 自己紹介 ビットバンク株式会社 AWSエンジニア shogo ishikawa CodePipelineを用いたTypeScriptなどのデプロイフローの構築を担当 インフラ領域を専業としているが、LambdaでNode.jsを使ったりすることもあ る。
3.
Copyright © bitbank,
inc. bitbankのJavascriptへの取り組み # TypeScriptの全面採用により、 開発メンバーのダイナミックなアサインが可能
4.
Copyright © bitbank,
inc. 今回話すこと ● TypeScriptアプリケーションのデプロイ方法の紹介 ● 細かいTips ● やってみてよかったこと・つらみ
5.
Copyright © bitbank,
inc. Fargateとは ● EC2(サーバ)を気にしなくてよい、コンテナマネージド・サービス ● リソースベースの課金(CPU / MEM) ● 画面ポチポチで簡単にコンテナを構築できる
6.
Copyright © bitbank,
inc. CodePipelineとは ● 様々なAWSサービスと連携可能 ● CI/CDで、AWSサービスにアプリケーションデプロイの自動化が可能
7.
Copyright © bitbank,
inc. CodePipelineとは ● 以下のサービスと連携可能 Sorurce Build Deploy ● CodeCommit ● S3 ● GitHub ※ それ以外で管理している場 合は、CodeCommitかS3を経 由させれば良い。 ● CodeBuild ● CodeDeploy ● ECS/Fargate ● CloudFormation ● ElasticBeastalk
8.
Copyright © bitbank,
inc. まず手動でデプロイした例を考えてみましょう
9.
Copyright © bitbank,
inc. 手動デプロイの例 ● TypeScriptアプリケーションをFargateにデプロイする場合の例
10.
Copyright © bitbank,
inc. 手動デプロイの例 ● TypeScriptアプリケーションをFargateにデプロイする場合の例 ● 以下のような作業が必要 ○ TypeScriptをテスト ○ TypeScriptをビルド ○ Dockerイメージをビルド ○ Docker レジストリにログイン ○ Docker レジストリにPush ○ コンテナデプロイ作業
11.
Copyright © bitbank,
inc. そもそも人の手でこれやるのちょっとしんどいですよね?
12.
Copyright © bitbank,
inc. サーバレスなCI/CD導入の背景 ● 開発と本番デプロイを自動化したい ● ソースコードテストを確実にしたい ● レビューを通過したものだけをデプロイしたい ● デプロイサーバの保守をしたくない ○ パッケージのバージョンアップ ○ 脆弱性対応 ○ クラウドサービス側のメンテナンスに伴う再起動 ○ OSのサポート終了 ...
13.
Copyright © bitbank,
inc. なぜCodePipelineなのか ● 各AWSサービスと連携できること ● デプロイを自動化できる ● サーバレスであること ○ OSレベルでの保守が不要 = インフラエンジニアがいない場合でもなんとかなる。
14.
Copyright © bitbank,
inc. CodePipelineを用いたデプロイ例 ①ソースコード変更検知 ②TypeScript Build & Docker push ④Deploy ③Docker push ⑤Docker Pull アプリケーション起動 CodeCommitへPush
15.
Copyright © bitbank,
inc. CodeCommit:ソースコード変更検知 ● CodeCommitにPushを検知 ● CodePipelineが起動 ②TypeScript Build ④Deploy ③Docker push ⑤Docker Pull アプリケーション起動 CodeCommitへPush ①ソースコード変更検知
16.
Copyright © bitbank,
inc. CodeBuild:ビルド ● TypeScriptのビルド ● Dockerイメージをビルド&プッシュ ①ソースコード変更検知 ②TypeScript Build ④Deploy ③Docker push ⑤Docker Pull アプリケーション起動 ①ソースコード変更検知 CodeCommitへPush
17.
Copyright © bitbank,
inc. CodeBuild:Yamlファイルで記述可能 ①ソースコード変更検知 ②TypeScript Build ④Deploy ③Docker push ⑤Docker Pull アプリケーション起動 version: 0.2 phases: pre_build: commands: - $(aws ecr get-login --no-include-email) build: commands: - npm install - npm run build - docker build -t ${REPOSITORY_URI}":latest . post_build: commands: - docker push "${REPOSITORY_URI}":latest artifacts: files: imagedefinitions.json CodeCommitへPush
18.
Copyright © bitbank,
inc. CodeBuild: スペックは高性能 ● 最大でvCpu:8G / Mem:15G のインスタンスタイプがあるので、CPUに負荷をかけるTypescripのBuildも可 能
19.
Copyright © bitbank,
inc. Fargate:デプロイ ● TypeScriptのビルド ● DockerイメージをPush ①ソースコード変更検知 ②TypeScript Build ④Deploy ③Docker push ⑤Docker Pull アプリケーション起動
20.
Copyright © bitbank,
inc. Tips:機密情報の管理方法 ● KMSで暗号化して保管 ● アプリケーションが必要とする際に、復号
21.
Copyright © bitbank,
inc. Tips:Dockerイメージをカスタマイズして高速化 ● Dockerイメージの容量を可能な限り減らす ○ DockerイメージをDockerレジストリにPush・Pullする時間を短縮 ○ アプリケーションをオートスケールさせる際の時間を短縮 ○ 最小限のアプリケーションしか無いため、セキュリティ向上
22.
Copyright © bitbank,
inc. Tips:Dockerイメージをカスタマイズして高速化 ● Alpine LinuxのDockerイメージを採用 ● デフォルトのイメージの容量が圧倒的に少ない ○ node:10.13.0 → 674MB ○ node:10.13.0-alpine → 70.2MB ● 約10倍小さい ● パッケージのインストールが早い つまりDockerイメージ容量は軽い方がいい
23.
Copyright © bitbank,
inc. Tips:CodePipelineのデプロイフローをIaCで効率化 ● CloudFormation(AWSのIaC)を採用して ● CodePipelineの一撃構築を実現 ● シェルを実行するのみで、デプロイフローが構築されるようになった
24.
Copyright © bitbank,
inc. やってみて良かったこと😊 ● デプロイ方法が共通化された ● レビューを通過したコードのみがデプロイされるようになったので、 安全になった ● リポジトリにPushすればデプロイされるので、デプロイが 楽になった ● CodePipelineを「アプリケーション開発のフェーズ」から導入することで、 高頻度なデプロイが可能になった ● サーバレスで構築したので、 運用負担は無い ● アプリケーション開発に集中できるようになった
25.
Copyright © bitbank,
inc. つらみ😂 ● リポジトリ数が増加してしまう。 ● リポジトリのブランチにCodePipelineが紐づくため、リポジトリをパイプラインに合わせた管理方法となって しまう。 ○ モノリシックリポジトリはCodePipelineだと管理できない。 ○ 細かいLambdaのFunctionを一つのリポジトリにまとめて置くことができない。
26.
Copyright © bitbank,
inc. まとめ ● CodePipelineでデプロイフローを構築することで、デプロイを自動化できる。 ● マネージド・サービスのみで、構築可能なので、サーバに対する 深い知見が不要で容易に構築できる。 ○ インフラエンジニアがいなくても大丈夫? ● テスト段階から、デプロイフローを導入することで、開発スピードを向上できる。
27.
Copyright © bitbank,
inc. 以上
Download now