SlideShare a Scribd company logo
1 of 30
Download to read offline
Docker + CI pipeline
高效率ChatBot開發方法
Philipz(鄭淳尹)
Modern Web 2017-8-11
緣起
IM + XMPP
IM + XMPP
IM + XMPP
0803 Flash Crash 閃崩
0803 Flash Crash 閃崩
ChatBot功能
1. 自動交易現況
2. 選擇權策略
3. 金融新聞
4. 商品資訊
5. 每日未平倉量
ChatBot功能
6. 到價警示
(個人化服務)
7. 金融知識問答測試
8. 訂閱服務
9. 託播廣告
Demo
系統架構
系統架構
Azure
Web App
on Linux
開發花費之人月
1人+1周
利用微軟相關工具
Visual Studio Code 開發工具
Node.js + Bot Framework - 程式範例1, 範例2
Azure Web App on Linux
容器私有儲存庫 - Azure Container Registry
整合自動化測試部署流程 - GitLab
Azure CLI 2.0 - Docker image
GitHub
GitLab
Jenkins Registry
GitHub
GitLab
Jenkins Registry
GitLab-Runner
GitLab-Runner
容器開發流程
GitLab-Runner
Web PaaS
Demo
GitLab
Test Double 測試方法
新 Compose 測試方法
The Same
http://testdriven.io/part-four-intro/
容器思維
1. 各階段如何使用容器
2. 直接用容器,不再重頭安裝
3. 官方映像檔或依需要客製
4. 營運環境亦使用容器
5. 在易用性與尺寸取得平衡
6. 使用標籤(tag)區分版本
7. 擺脫程式語言限制,善用各語言優點
Azure Container Instances
延伸閱讀
延伸閱讀
感謝您的聆聽
m(_ _)m

More Related Content

What's hot

Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Philip Zheng
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShopPhilip Zheng
 
認識程式交易
認識程式交易認識程式交易
認識程式交易Philip Zheng
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊Philip Zheng
 
程式交易面面觀
程式交易面面觀程式交易面面觀
程式交易面面觀Philip Zheng
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote DevelopmentPhilip Zheng
 
cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-dockerBruce Huang
 
十二項架構設計原則
十二項架構設計原則十二項架構設計原則
十二項架構設計原則Philip Zheng
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹Philip Zheng
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享Philip Zheng
 
Docker home ted
Docker home tedDocker home ted
Docker home tedLayne Peng
 
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contributeinwin stack
 
Getting started with test automation
Getting started with test automationGetting started with test automation
Getting started with test automationIvan Wei
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽Will Huang
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程Simon Su
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?昱安 周
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Miles Chou
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 

What's hot (20)

Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 
程式交易面面觀
程式交易面面觀程式交易面面觀
程式交易面面觀
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote Development
 
cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-docker
 
十二項架構設計原則
十二項架構設計原則十二項架構設計原則
十二項架構設計原則
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享
 
Docker home ted
Docker home tedDocker home ted
Docker home ted
 
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contribute
 
Getting started with test automation
Getting started with test automationGetting started with test automation
Getting started with test automation
 
微服務自己動手做
微服務自己動手做微服務自己動手做
微服務自己動手做
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 

Viewers also liked

容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用Philip Zheng
 
Docker basic on azure
Docker basic on azureDocker basic on azure
Docker basic on azurePhilip Zheng
 
程式交易經驗分享系列(3) 策略最佳化及wfa法
程式交易經驗分享系列(3)   策略最佳化及wfa法程式交易經驗分享系列(3)   策略最佳化及wfa法
程式交易經驗分享系列(3) 策略最佳化及wfa法Philip Zheng
 
外資操作剖析,單日期貨空單創歷史新高 2013 04-09
外資操作剖析,單日期貨空單創歷史新高 2013 04-09外資操作剖析,單日期貨空單創歷史新高 2013 04-09
外資操作剖析,單日期貨空單創歷史新高 2013 04-09Philip Zheng
 
What's Wrong With Deep Learning?
What's Wrong With Deep Learning?What's Wrong With Deep Learning?
What's Wrong With Deep Learning?Philip Zheng
 
警惕大眾別隨意聽信坊間期貨投顧公司
警惕大眾別隨意聽信坊間期貨投顧公司警惕大眾別隨意聽信坊間期貨投顧公司
警惕大眾別隨意聽信坊間期貨投顧公司Philip Zheng
 
Use MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry PiUse MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry PiPhilip Zheng
 
程式交易經驗分享系列(2) 交易策略開發步驟
程式交易經驗分享系列(2)   交易策略開發步驟程式交易經驗分享系列(2)   交易策略開發步驟
程式交易經驗分享系列(2) 交易策略開發步驟Philip Zheng
 
Docker all the things
Docker all the thingsDocker all the things
Docker all the thingsPhilip Zheng
 
圖解高頻交易系統的運作狀況
圖解高頻交易系統的運作狀況圖解高頻交易系統的運作狀況
圖解高頻交易系統的運作狀況Philip Zheng
 
Docker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSDocker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSPhilip Zheng
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇Philip Zheng
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇Philip Zheng
 
TradingBot & Open Source 精神
TradingBot & Open Source 精神TradingBot & Open Source 精神
TradingBot & Open Source 精神Philip Zheng
 
TradingBot of Maker Faire
TradingBot of Maker FaireTradingBot of Maker Faire
TradingBot of Maker FairePhilip Zheng
 

Viewers also liked (20)

容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
rJava
rJavarJava
rJava
 
Docker研習營
Docker研習營Docker研習營
Docker研習營
 
Docker & GitLab
Docker & GitLabDocker & GitLab
Docker & GitLab
 
Docker basic on azure
Docker basic on azureDocker basic on azure
Docker basic on azure
 
程式交易經驗分享系列(3) 策略最佳化及wfa法
程式交易經驗分享系列(3)   策略最佳化及wfa法程式交易經驗分享系列(3)   策略最佳化及wfa法
程式交易經驗分享系列(3) 策略最佳化及wfa法
 
COSCUP - Fleet
COSCUP - FleetCOSCUP - Fleet
COSCUP - Fleet
 
外資操作剖析,單日期貨空單創歷史新高 2013 04-09
外資操作剖析,單日期貨空單創歷史新高 2013 04-09外資操作剖析,單日期貨空單創歷史新高 2013 04-09
外資操作剖析,單日期貨空單創歷史新高 2013 04-09
 
What's Wrong With Deep Learning?
What's Wrong With Deep Learning?What's Wrong With Deep Learning?
What's Wrong With Deep Learning?
 
警惕大眾別隨意聽信坊間期貨投顧公司
警惕大眾別隨意聽信坊間期貨投顧公司警惕大眾別隨意聽信坊間期貨投顧公司
警惕大眾別隨意聽信坊間期貨投顧公司
 
Fusion tables
Fusion tablesFusion tables
Fusion tables
 
Use MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry PiUse MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry Pi
 
程式交易經驗分享系列(2) 交易策略開發步驟
程式交易經驗分享系列(2)   交易策略開發步驟程式交易經驗分享系列(2)   交易策略開發步驟
程式交易經驗分享系列(2) 交易策略開發步驟
 
Docker all the things
Docker all the thingsDocker all the things
Docker all the things
 
圖解高頻交易系統的運作狀況
圖解高頻交易系統的運作狀況圖解高頻交易系統的運作狀況
圖解高頻交易系統的運作狀況
 
Docker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSDocker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOS
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
 
TradingBot & Open Source 精神
TradingBot & Open Source 精神TradingBot & Open Source 精神
TradingBot & Open Source 精神
 
TradingBot of Maker Faire
TradingBot of Maker FaireTradingBot of Maker Faire
TradingBot of Maker Faire
 

Similar to Docker + CI pipeline 的高效率 ChatBot 開發方法

How to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watsonHow to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watson湯米吳 Tommy Wu
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境drewz lin
 
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心Du Yamin
 
introduction of web 2.0
introduction of web 2.0introduction of web 2.0
introduction of web 2.0soboring
 
Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Sting Chen
 
Koubei banquet 27
Koubei banquet 27Koubei banquet 27
Koubei banquet 27Koubei UED
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)wangjiaz
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)wangjiaz
 
Toutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckToutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckMatthew Brennan
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計Andrew Wu
 
貫通物聯網每一哩路 with Microsfot Azure IoT Sutie
貫通物聯網每一哩路 with Microsfot Azure IoT Sutie貫通物聯網每一哩路 with Microsfot Azure IoT Sutie
貫通物聯網每一哩路 with Microsfot Azure IoT SutieHerman Wu
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
云起龙骧系列课程(4) - Live Services开发实战_黄继佳
云起龙骧系列课程(4) - Live Services开发实战_黄继佳云起龙骧系列课程(4) - Live Services开发实战_黄继佳
云起龙骧系列课程(4) - Live Services开发实战_黄继佳yalle
 
2019 Cloud Native Forum, Taipei
2019 Cloud Native Forum, Taipei2019 Cloud Native Forum, Taipei
2019 Cloud Native Forum, TaipeiYiDeWu1
 
Using google appengine_final2
Using google appengine_final2Using google appengine_final2
Using google appengine_final2Wei Sun
 
Web rtc和webstorage技术讲解
Web rtc和webstorage技术讲解Web rtc和webstorage技术讲解
Web rtc和webstorage技术讲解吴 晓兰
 
移动互联网的机遇与挑战
移动互联网的机遇与挑战移动互联网的机遇与挑战
移动互联网的机遇与挑战Courtney Chow
 

Similar to Docker + CI pipeline 的高效率 ChatBot 開發方法 (20)

How to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watsonHow to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watson
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
 
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
 
introduction of web 2.0
introduction of web 2.0introduction of web 2.0
introduction of web 2.0
 
Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)
 
Koubei banquet 27
Koubei banquet 27Koubei banquet 27
Koubei banquet 27
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)
 
Ye Ying(1)
Ye Ying(1)Ye Ying(1)
Ye Ying(1)
 
Toutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckToutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding Deck
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
Python in vir
Python in virPython in vir
Python in vir
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
 
貫通物聯網每一哩路 with Microsfot Azure IoT Sutie
貫通物聯網每一哩路 with Microsfot Azure IoT Sutie貫通物聯網每一哩路 with Microsfot Azure IoT Sutie
貫通物聯網每一哩路 with Microsfot Azure IoT Sutie
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
云起龙骧系列课程(4) - Live Services开发实战_黄继佳
云起龙骧系列课程(4) - Live Services开发实战_黄继佳云起龙骧系列课程(4) - Live Services开发实战_黄继佳
云起龙骧系列课程(4) - Live Services开发实战_黄继佳
 
2019 Cloud Native Forum, Taipei
2019 Cloud Native Forum, Taipei2019 Cloud Native Forum, Taipei
2019 Cloud Native Forum, Taipei
 
Using google appengine_final2
Using google appengine_final2Using google appengine_final2
Using google appengine_final2
 
Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
 
Web rtc和webstorage技术讲解
Web rtc和webstorage技术讲解Web rtc和webstorage技术讲解
Web rtc和webstorage技术讲解
 
移动互联网的机遇与挑战
移动互联网的机遇与挑战移动互联网的机遇与挑战
移动互联网的机遇与挑战
 

More from Philip Zheng

從零開始做架構圖
從零開始做架構圖從零開始做架構圖
從零開始做架構圖Philip Zheng
 
Cloud Native Practice
Cloud Native PracticeCloud Native Practice
Cloud Native PracticePhilip Zheng
 
容器與資料科學應用
容器與資料科學應用容器與資料科學應用
容器與資料科學應用Philip Zheng
 
容器與IoT端點應用
容器與IoT端點應用容器與IoT端點應用
容器與IoT端點應用Philip Zheng
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班Philip Zheng
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 
人工智能在量化投资分析中的实践
人工智能在量化投资分析中的实践人工智能在量化投资分析中的实践
人工智能在量化投资分析中的实践Philip Zheng
 

More from Philip Zheng (8)

從零開始做架構圖
從零開始做架構圖從零開始做架構圖
從零開始做架構圖
 
Apahce Ignite
Apahce IgniteApahce Ignite
Apahce Ignite
 
Cloud Native Practice
Cloud Native PracticeCloud Native Practice
Cloud Native Practice
 
容器與資料科學應用
容器與資料科學應用容器與資料科學應用
容器與資料科學應用
 
容器與IoT端點應用
容器與IoT端點應用容器與IoT端點應用
容器與IoT端點應用
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
人工智能在量化投资分析中的实践
人工智能在量化投资分析中的实践人工智能在量化投资分析中的实践
人工智能在量化投资分析中的实践
 

Docker + CI pipeline 的高效率 ChatBot 開發方法