Enviar pesquisa
Carregar
Continuous Delivery - 敏捷開發的最後一哩路
•
2 gostaram
•
775 visualizações
Miles Chou
Seguir
Laravel Conf Taiwan 2017 議程
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 75
Baixar agora
Baixar para ler offline
Recomendados
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
Chen Cheng-Wei
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
Miles Chou
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
Chen Cheng-Wei
Go 語言基礎簡介
Go 語言基礎簡介
Bo-Yi Wu
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Chen Cheng-Wei
My DevOps Tour 0.1
My DevOps Tour 0.1
Chu-Siang Lai
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
Recomendados
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
Chen Cheng-Wei
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
Miles Chou
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
Chen Cheng-Wei
Go 語言基礎簡介
Go 語言基礎簡介
Bo-Yi Wu
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Chen Cheng-Wei
My DevOps Tour 0.1
My DevOps Tour 0.1
Chu-Siang Lai
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Chen Cheng-Wei
Agile / Scrum
Agile / Scrum
Yiwei Chen
Dev ops 簡介
Dev ops 簡介
hugo lu
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Chu-Siang Lai
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
Bo-Yi Wu
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Tools
scott liao
20170905 dev ops in hiiir
20170905 dev ops in hiiir
Isaac Tseng
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
Bo-Yi Wu
iThome Serverless All-Star 開場
iThome Serverless All-Star 開場
Chen Cheng-Wei
DevOps核心理念和實踐
DevOps核心理念和實踐
Martin Liu
以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享
Chen Cheng-Wei
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)
William Yeh
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
Chen Cheng-Wei
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
天青 王
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
Alan Tsai
跟著 geerlingguy 大神 一起測試 Ansible Roles
跟著 geerlingguy 大神 一起測試 Ansible Roles
Chen Cheng-Wei
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
Bo-Yi Wu
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
Alex Su
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
yinwilliam
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
Win Yu
Mais conteúdo relacionado
Mais procurados
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Chen Cheng-Wei
Agile / Scrum
Agile / Scrum
Yiwei Chen
Dev ops 簡介
Dev ops 簡介
hugo lu
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Chu-Siang Lai
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
Bo-Yi Wu
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Tools
scott liao
20170905 dev ops in hiiir
20170905 dev ops in hiiir
Isaac Tseng
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
Bo-Yi Wu
iThome Serverless All-Star 開場
iThome Serverless All-Star 開場
Chen Cheng-Wei
DevOps核心理念和實踐
DevOps核心理念和實踐
Martin Liu
以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享
Chen Cheng-Wei
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)
William Yeh
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
Chen Cheng-Wei
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
天青 王
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
Alan Tsai
跟著 geerlingguy 大神 一起測試 Ansible Roles
跟著 geerlingguy 大神 一起測試 Ansible Roles
Chen Cheng-Wei
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
Bo-Yi Wu
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
Alex Su
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
yinwilliam
Mais procurados
(20)
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Agile / Scrum
Agile / Scrum
Dev ops 簡介
Dev ops 簡介
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Tools
20170905 dev ops in hiiir
20170905 dev ops in hiiir
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
iThome Serverless All-Star 開場
iThome Serverless All-Star 開場
DevOps核心理念和實踐
DevOps核心理念和實踐
以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
跟著 geerlingguy 大神 一起測試 Ansible Roles
跟著 geerlingguy 大神 一起測試 Ansible Roles
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
Destaque
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
Win Yu
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Philip Zheng
HITCON駭客戰隊與CTF經驗分享
HITCON駭客戰隊與CTF經驗分享
Alan Lee
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
用 Bitbar Tool 寫 Script 自動擷取外幣
用 Bitbar Tool 寫 Script 自動擷取外幣
Win Yu
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
Philip Zheng
聊天機器人:一個沒有小編的世界
聊天機器人:一個沒有小編的世界
佳新 陳
容器與資料科學應用
容器與資料科學應用
Philip Zheng
Docker 進階實務班
Docker 進階實務班
Philip Zheng
容器與IoT端點應用
容器與IoT端點應用
Philip Zheng
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
Bo-Yi Wu
API Token 入門
API Token 入門
Andrew Wu
與設計架構當朋友
與設計架構當朋友
Win Yu
大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享
Andrew Wu
PHP 良好實踐 (Best Practice)
PHP 良好實踐 (Best Practice)
Win Yu
無瑕的程式碼 Clean Code 心得分享
無瑕的程式碼 Clean Code 心得分享
Win Yu
[系列活動] 一天搞懂對話機器人
[系列活動] 一天搞懂對話機器人
台灣資料科學年會
Destaque
(19)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
2016 ModernWeb 分享 - 恰如其分 MySQL 程式設計 (修)
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
HITCON駭客戰隊與CTF經驗分享
HITCON駭客戰隊與CTF經驗分享
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
用 Bitbar Tool 寫 Script 自動擷取外幣
用 Bitbar Tool 寫 Script 自動擷取外幣
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
聊天機器人:一個沒有小編的世界
聊天機器人:一個沒有小編的世界
容器與資料科學應用
容器與資料科學應用
Docker 進階實務班
Docker 進階實務班
容器與IoT端點應用
容器與IoT端點應用
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
API Token 入門
API Token 入門
與設計架構當朋友
與設計架構當朋友
大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享
PHP 良好實踐 (Best Practice)
PHP 良好實踐 (Best Practice)
無瑕的程式碼 Clean Code 心得分享
無瑕的程式碼 Clean Code 心得分享
[系列活動] 一天搞懂對話機器人
[系列活動] 一天搞懂對話機器人
Semelhante a Continuous Delivery - 敏捷開發的最後一哩路
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
Edward Kuo
The way to continuous delivery
The way to continuous delivery
Qiao Liang
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
Edward Kuo
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
AgileTour@TW
Xpp
Xpp
drewz lin
DevOps Days Taipei 2018
DevOps Days Taipei 2018
Cobra Chen
Phalcon2014 Startup
Phalcon2014 Startup
Steve Luo
Frontend devops-v1.0
Frontend devops-v1.0
Yan Wang
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110
Qiao Liang
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
Andrew Wu
DevOps The Buzzword - everything about devops
DevOps The Buzzword - everything about devops
DivyanshGupta922023
專案啟動與設定
專案啟動與設定
Shengyou Fan
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
Shengyou Fan
持续交付
持续交付
drewz lin
J frog live demo ver4
J frog live demo ver4
Linktech
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
Juggernaut Liu
GitHub Action Introduction
GitHub Action Introduction
Duran Hsieh
DevOps program 導入經驗談
DevOps program 導入經驗談
levelup31
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
TIM WANG
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
Qiao Liang
Semelhante a Continuous Delivery - 敏捷開發的最後一哩路
(20)
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
The way to continuous delivery
The way to continuous delivery
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Xpp
Xpp
DevOps Days Taipei 2018
DevOps Days Taipei 2018
Phalcon2014 Startup
Phalcon2014 Startup
Frontend devops-v1.0
Frontend devops-v1.0
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
DevOps The Buzzword - everything about devops
DevOps The Buzzword - everything about devops
專案啟動與設定
專案啟動與設定
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
持续交付
持续交付
J frog live demo ver4
J frog live demo ver4
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
GitHub Action Introduction
GitHub Action Introduction
DevOps program 導入經驗談
DevOps program 導入經驗談
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
Continuous Delivery - 敏捷開發的最後一哩路
1.
Continuous Delivery 敏捷開發的最後⼀哩路 Miles @
LaravelConf Taiwan 2017 (2017/7/1)
2.
About Me CURRENT Senior Developer
@ 104 Corp. Volunteer @ DevOps Taiwan EXPERIENCE Speaker @ PHPConf 2016 TAG PHP, Docker, DevOps jangconan@gmail.com MilesChou
3.
Outline • 什麼是 Continuous
Delivery • 案例分享 • 總結
4.
什麼是 Continuous Delivery
5.
Delivery?
6.
硬體的 Delivery 圖⽚來源:https://www.youtube.com/watch?v=RWlfzzQ-dkg
7.
軟體的 Delivery
8.
Continuous?
9.
App 的 CD
10.
開發⼈員的 CD
11.
Scrum 的 CD 圖⽚來源:http://agilemanifesto.org/iso/zhcht/manifesto.html
12.
LaravelConf 粉絲團的 CD
13.
我所知道的 CD
14.
Developer Production Customer Feedback Backlog SSH
15.
Continuous? Delivery?
16.
Delivery
17.
Continuous
18.
Bug 常常出現
19.
Developer Backlog Feedback Production Customer
20.
Feedback Developer Production CustomerBacklog Lab Tester
21.
上線常常失敗
22.
Feedback Production Customer Lab Tester Developer Backlog
23.
Feedback Developer Production CustomerBacklog Lab Tester SysAdminSysAdmin
24.
上線不符合企劃需求
25.
Feedback CustomerBacklog Tester Developer LabOperator
ProductionOperator
26.
Feedback CustomerBacklog Tester Developer LabOperator
ProductionOperatorStagingSysAdmin Planner
27.
最後,流程變落落長
28.
Feedback CustomerBacklog Tester Developer LabOperator
ProductionOperatorStagingOperator Planner
29.
上線速度太慢
30.
先別提驗證了,你有聽過 CD 嗎︖
31.
Developer Production
32.
33.
CD 不能解決問題 解決問題之後才能 CD
34.
問題 • 沒有測試就上線 • 沒有⾃動化上線 •
開發與上線的差異越來越⼤ • 新進⼈員難以了解專案全貌
35.
案例分享 - 會員中⼼
(既有專案) https://accounts.104.com.tw
36.
改造既有專案 • 整合 CI
server • 寫測試與⽂件 • 寫建置與打包腳本 • 寫佈署與驗證腳本 • 打造接近線上環境的開發環境
37.
CI ⼯具
38.
CI ⼯具 • 從簡單、有效的驗證開始 •
composer install • phpcs
39.
測試⼯具
40.
測試⼯具 • 先測試︖先重構︖ • 整合測試︖
Mock / Fake ︖
41.
各種腳本
42.
各種腳本 • build • package •
clean • deploy • health-check
43.
環境建置⼯具
44.
環境建置⼯具 • 環境的依賴 • 規劃測試階段的服務
45.
CD ⼯具 S3 CodeDeploy
46.
Developer S3 CodeDeploy IDC Staging Production LabAgent Agent Agent
47.
打包腳本 .travis.yml (TravisCI)
48.
佈署與驗證腳本 appspec.yml (CodeDeploy)
49.
Trigger Condition GitHub .travis.yml
50.
Git Workflow (TBD)
51.
Pull Request
52.
困境 • 技術包袱 • 跨團隊的溝通
53.
案例分享 - 全新專案x2 Resume
API OpenJob API AWS IDC Common Service Database Direct Connect Internal Network
54.
開發框架與⼯具 Framework ORM Migration
Console
55.
開發過程 • 導入 CI
server • 導入單元測試與整合測試 • 導入 Docker 與 Migration 建置環境 • 使⽤ Console 與 Makefile 簡化複雜操作 • 撰寫開發⽤⽂件
56.
Symfony Console
57.
⽂件撰寫 Guideline
58.
成果 • 測試+佈署時間 3min
vs 1hr ~ 1week • 最常看⽂件反⽽是⾃⼰ • 建置測試環境簡單快速
59.
Conclusion
60.
如何建置可 CD 的專案
61.
Review 問題 • 沒有測試就上線 •
沒有⾃動化上線 • 開發與營運環境越來越遠 • 新進⼈員難以了解專案全貌
62.
Bug 常常出現 • 盡可能提⾼測試的完整性 •
不把壞掉的程式分享給其他⼈
63.
上線常常失敗 • 寫佈署與驗證腳本,甚至是⾃動還原腳本 • 讓佈署變成很「平常」,也很安全的任務
64.
環境不⼀致 • 開發者不了解營運環境,要如何驗證︖ • 使⽤
Docker / Vagrant 同步環境
65.
將知識傳承下去 • 撰寫技術⽂件,讓任何⼈都能快速進入狀況 • 唯有每個成員都了解專案,才有可能加速開發
66.
問題 解決藥⽅ • 沒有測試就上線
寫測試 • 沒有⾃動化上線 寫腳本 • 開發與營運環境越來越遠 Infra. as Code • 新進⼈員難以了解專案全貌 寫⽂件
67.
CD 到底有什麼好處 • 快速產⽣軟體價值 •
更快獲得使⽤者回饋 • ⼤幅降低佈署風險(當解決前述問題之後)
68.
那 CD 有什麼壞處 •
既有專案導入需要投資,且不保證成功 • 流程持續調整的過程,可能讓團隊無所適從
69.
70.
參考資料
71.
⼯商服務
72.
DevOps Culture Open Space 9/4~9/6 台大社科院 Hello! DevOps
73.
資料科學家 機器學習 ⾃自然語⾔言處理理 資料⼯工程師 AWS, Spark Python, Scala Web
⼯工程師 Laravel, Node, React techjob@104.com.tw
74.
7/29 華山西五館
75.
Q&A
Baixar agora