SlideShare une entreprise Scribd logo
1  sur  110
Télécharger pour lire hors ligne
: https://unsplash.com/photos/qAShc5SV83M
Cheng Wei Chen @ PHPConf 2016.10.29
PHPConf 2016

自動化與持續整合實作工作坊
Cheng Wei Chen 陳 正瑋
DevOps Engineer @ TheQwan 得寬科技
chengweichen.com
DevOps Taiwan
FB 社團 - https://www.facebook.com/
groups/DevOpsTaiwan/
: https://stock.tookapic.com/photos/17849
個人目前會浮出水面的社群
四位助教
如在操作上遇到障礙,
可立即尋求助教協助!
如果還未建置環境
請立即建立 !!
工作坊範例檔案
讓你少打一些字,複製貼上即可。
https://goo.gl/Vcvag7
實作環境說明
實作環境說明
Local
VM
Azure
Local VM
你的筆電 (Host)
Local VM
你的筆電 (Host)
VM (Guest)
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Docker
Container
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
ServerVM (80) <-> 容器 (80)
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
ServerVM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
172.17.0.4
172.17.0.7
172.17.0.6 172.17.0.8
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
VM
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
: https://www.pexels.com/photo/coffee-writing-computer-blogging-34600/
工程師 自動化
(
實際狀況
: https://www.pexels.com/photo/photo-33343/
你以為會是 現實情況是 更多真實的狀況是
很多時候是 經常期待是 目標是
: https://www.pexels.com/photo/photo-64609/
: https://www.pexels.com/photo/photo-65050/
: https://picjumbo.com/real-mens-tools/
: https://pixabay.com/photo-1510561/
: https://pixabay.com/en/photo-593313/
: https://www.pexels.com/photo/coffee-writing-computer-blogging-34600/
DevOps
code build test deploy operateplan
Measurement
Monitor Metrics Analytics
Continuous Integration
Continuous Delivery
DevOps
Monitoring
Automation
Dev
release
Ops
Sharing
Fast	
Iteration
Feedback
break silos
LEAN
Culture
Agile
資訊
透明度 文化
自動化
自動化
Continuous
Integration
Continuous
Delivery
Automated
Build
Continuous
Deployment
Continuous
Testing
Continuous
Monitoring
Automated
Testing
Release
Automation
code buildplan
Continuous Integration
Continuous Delivery
deploy
Feedback
releasetest
Feedback
operate
Automation
: https://stock.tookapic.com/photos/10628
最簡單的自動化
單元一
: https://stock.tookapic.com/photos/10628
shell scripts
單元一 示範一
: https://stock.tookapic.com/photos/10628
cron + shell scripts
: https://stock.tookapic.com/photos/10628
Job Queue
: https://stock.tookapic.com/photos/10628
Job Queue
: https://stock.tookapic.com/photos/10628
Trigger Action
: https://stock.tookapic.com/photos/10628
Trigger Action
: https://stock.tookapic.com/photos/10628
讓很多事都能自動化
API
單元一
示範二
Think
: https://unsplash.com/photos/hANqC3_kTqU
Trigger
Scripts
Interface
Service
Flow
: https://unsplash.com/photos/Fixg8KipOg8
Bots IM Voice CMD
Interface
舉例
: https://unsplash.com/photos/Fixg8KipOg8
BotsCI PaaS
Service
Worker
舉例
: https://unsplash.com/photos/Fixg8KipOg8
DateTime Trigger Webhook Event
Trigger
舉例
: https://unsplash.com/photos/Fixg8KipOg8
shell
scripts
Ansible Azure
Functions
hubot
scripts
Scripts
舉例
: https://unsplash.com/photos/Fixg8KipOg8
Flow
Trigger
Scripts
Interface
Service
Flow
Trigger
Scripts
Interface
Service
Flow
環境設置與安裝軟體的先後順序
Command Line
bash xxx.sh
VM, BASH process
xxx.sh
shell script
Trigger
Scripts
Interface
Service
Flow
執行動作的先後順序, Crontab 觸發的條件
Command Line
Crontab
VM, BASH process
xxx.sh
shell + cron
Trigger
Scripts
Interface
Service
Flow
Job 的生命週期, Job 內程式執行的流程
Web
Job Queue
VM, php process, worker
xxx.php
Job Queue
Trigger
Scripts
Interface
Service
Flow
呼叫 API 的順序, 流程
Command Line
ansible-playbook …
VM, ansible process
ansible-playbook.yml
Gitlab API
Trigger
Scripts
Interface
Service
Flow
開發流程, 自動化動作的流程
CI Server 的 GUI
code push
CI Server, Worker, Runner
設定於 CI Server 上的自動化腳本
CI / CD
開發流程
: https://www.pexels.com/photo/black-and-white-industry-factory-lamp-5004/
開發流程
code build test release deploy operateplan
開發流程
code build test release deploy operateplan
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
More Automation ?
今日練習流程
VCScommit CI build devdeploy test
mergeprod deploy
trigger
: https://stock.tookapic.com/photos/10628
自動化建置
單元二
流程
build devdeploy test
mergeprod deploy
VCScommit
Code .gitlab-ci.yml
CI
流程
build devdeploy test
mergeprod deploy
VCScommit
GitLab
Code
git push
.gitlab-ci.yml
CI
流程
build devdeploy test
mergeprod deploy
VCScommit
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
CI
流程
VM
build devdeploy test
mergeprod deploy
VCScommit
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
Job
CI
流程
VM
Docker
build devdeploy test
mergeprod deploy
VCScommit CI
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
Runner
Trigger
Job
Job
: https://stock.tookapic.com/photos/10628
建立 .gitlab-ci.yml
單元二
練習一
流程
devdeploy test
mergeprod deploy
VCScommit CI
Code + Vendor
Code
composer install
build
: https://stock.tookapic.com/photos/10628
composer install
單元二
練習二
流程
devdeploy test
mergeprod deploy
VCScommit CI
master-12345.tarCode + Vendor
Code
composer install
tar
build
: https://stock.tookapic.com/photos/10628
將程式碼打包
單元二
練習三
流程
devdeploy test
mergeprod deploy
VCScommit CI
master-12345.tarCode + Vendor
Code
composer install
tar
build
Artifactsupload
: https://stock.tookapic.com/photos/10628
送入 Artifacts 歸檔
單元二
練習四
: https://stock.tookapic.com/photos/10628
自動化部署
單元三
流程
test
mergeprod deploy
VCScommit CI build devdeploy
: https://stock.tookapic.com/photos/10628
新增 stages: deploy-dev
單元三
練習一
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
deploy
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
1.upload artifact
2.unarchive
deploy
3.setup .env
4.composer dump-autoload
5.update nginx config
6.nginx reload
: https://stock.tookapic.com/photos/10628
設定自動化部署動作
單元三
練習二
Think
: https://unsplash.com/photos/hANqC3_kTqU
env code
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
deploy
驗證 deploy
: https://stock.tookapic.com/photos/10628
驗證部署是否成功
單元三
練習三
Think
: https://unsplash.com/photos/hANqC3_kTqU
code
: https://stock.tookapic.com/photos/10628
共用的自動化腳本
單元三
練習四
: https://stock.tookapic.com/photos/10628
自動化測試
單元四
流程
mergeprod deploy
VCScommit CI build devdeploy test
流程
mergeprod deploy
VCScommit CI build devdeploy test
Temp Container
Runner
SSH
dev server phpunitrun
: https://stock.tookapic.com/photos/10628
新增 stages: test-dev
單元四
練習一
流程
mergeprod deploy
VCScommit CI build devdeploy test
Temp Container
Runner
SSH
dev server run phpunit
Selenium server
: https://stock.tookapic.com/photos/10628
設定 Selenium Server
單元四
練習二
Think
: https://unsplash.com/photos/hANqC3_kTqU
phpunit.xml code
: https://stock.tookapic.com/photos/10628
顯示測試覆蓋率
單元四
練習三
: https://stock.tookapic.com/photos/10628
GUI 顯示測試覆蓋率
單元四
練習四
: https://stock.tookapic.com/photos/10628
從 dev 至 master
單元五
流程
mergeprod deploy
VCScommit CI build devdeploy test
: https://stock.tookapic.com/photos/10628
新增 dev branch
單元五
練習一
流程
mergeprod deploy
VCScommit CI build devdeploy test
dev branch
dev -> master
CI
git push
git push CI
autoauto
: https://stock.tookapic.com/photos/10628
區分 dev 與 master 的 CI 流程
單元五
練習二
流程
mergeprod deploy
VCScommit CI build devdeploy test
Curl CItrigger
deploy
prod
trigger
: https://stock.tookapic.com/photos/10628
透過 Trigger 驅動 Master 部署
單元五
示範三
流程
VCScommit CI build devdeploy test
mergeprod deploy
trigger
Think
: https://unsplash.com/photos/hANqC3_kTqU
: https://unsplash.com/photos/j0g8taxHZa0
Summary
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
Trigger
Scripts
Interface
Service
Flow
code buildplan
Continuous Integration
Continuous Delivery
deploy
Feedback
releasetest
Feedback
operate
Automation
實際狀況
: https://www.pexels.com/photo/photo-33343/
你以為會是 現實情況是 更多真實的狀況是
很多時候是 經常期待是 目標是
: https://www.pexels.com/photo/photo-64609/
: https://www.pexels.com/photo/photo-65050/
: https://picjumbo.com/real-mens-tools/
: https://pixabay.com/photo-1510561/
: https://pixabay.com/en/photo-593313/
團隊規模
流程
產品架構
找出你的最佳實踐
最佳
實踐
文化轉變
工具平台
跨職能人才
Thank
You
: https://unsplash.com/photos/oxjo1IQBK7M

Contenu connexe

Tendances

Tendances (20)

DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps Disaster
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
 
Oracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disasterOracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disaster
 
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disasterDigital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
 
JavaOne 2016 - The DevOps Disaster
JavaOne 2016 -  The DevOps DisasterJavaOne 2016 -  The DevOps Disaster
JavaOne 2016 - The DevOps Disaster
 
From DevOps to GitOps with GitLab
From DevOps to GitOps with GitLabFrom DevOps to GitOps with GitLab
From DevOps to GitOps with GitLab
 
和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh City
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better future
 
Practical DevOps & Continuous Delivery – A Webinar to learn in depth on DevO...
Practical DevOps & Continuous Delivery –  A Webinar to learn in depth on DevO...Practical DevOps & Continuous Delivery –  A Webinar to learn in depth on DevO...
Practical DevOps & Continuous Delivery – A Webinar to learn in depth on DevO...
 
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
 
On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)
 
Beyond QA
Beyond QABeyond QA
Beyond QA
 
從限制理論看 DevOps
從限制理論看 DevOps從限制理論看 DevOps
從限制理論看 DevOps
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
 
GREAT STEP 2. TDD & MockMVC
GREAT STEP 2. TDD & MockMVCGREAT STEP 2. TDD & MockMVC
GREAT STEP 2. TDD & MockMVC
 
Set up faster, easier, end-to-end testing with CircleCI and Cypress
Set up faster, easier, end-to-end testing with CircleCI and CypressSet up faster, easier, end-to-end testing with CircleCI and Cypress
Set up faster, easier, end-to-end testing with CircleCI and Cypress
 
Becoming a Plumber: Building Deployment Pipelines - RevConf
Becoming a Plumber: Building Deployment Pipelines - RevConfBecoming a Plumber: Building Deployment Pipelines - RevConf
Becoming a Plumber: Building Deployment Pipelines - RevConf
 
Drupalcon Sessions about Devops
Drupalcon Sessions about DevopsDrupalcon Sessions about Devops
Drupalcon Sessions about Devops
 

En vedette

En vedette (20)

20160809 希平方研發部分享 selenium自動化測試簡介
20160809 希平方研發部分享 selenium自動化測試簡介20160809 希平方研發部分享 selenium自動化測試簡介
20160809 希平方研發部分享 selenium自動化測試簡介
 
TrainingProgramAtMobileDevTW
TrainingProgramAtMobileDevTWTrainingProgramAtMobileDevTW
TrainingProgramAtMobileDevTW
 
PHP WEB 应用组织与结构
PHP WEB 应用组织与结构PHP WEB 应用组织与结构
PHP WEB 应用组织与结构
 
Opensource 是人生的好朋友 2016-07-21
Opensource 是人生的好朋友 2016-07-21Opensource 是人生的好朋友 2016-07-21
Opensource 是人生的好朋友 2016-07-21
 
Grpc go-in-php
Grpc go-in-phpGrpc go-in-php
Grpc go-in-php
 
教學課程Pdf備份
教學課程Pdf備份教學課程Pdf備份
教學課程Pdf備份
 
從 Php unit 到 ci 持續整合
從 Php unit 到 ci 持續整合從 Php unit 到 ci 持續整合
從 Php unit 到 ci 持續整合
 
APP Development Learning Experience Share - AppCoda
APP Development Learning Experience Share - AppCodaAPP Development Learning Experience Share - AppCoda
APP Development Learning Experience Share - AppCoda
 
Flexbox版面配置
Flexbox版面配置Flexbox版面配置
Flexbox版面配置
 
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
 
UI guide Example
UI guide ExampleUI guide Example
UI guide Example
 
從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來
從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來
從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來
 
React踩雷大作戰
React踩雷大作戰React踩雷大作戰
React踩雷大作戰
 
Stock analysis
Stock analysisStock analysis
Stock analysis
 
PHP教材
PHP教材PHP教材
PHP教材
 
PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)
 
Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...
Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...
Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...
 
響應式網頁實作坊
響應式網頁實作坊響應式網頁實作坊
響應式網頁實作坊
 
前端爆肝之旅+React上山前的小專案心得分享
前端爆肝之旅+React上山前的小專案心得分享前端爆肝之旅+React上山前的小專案心得分享
前端爆肝之旅+React上山前的小專案心得分享
 
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
 

Similaire à PHP Conf Taiwan 2016 自動化與持續整合實作工作坊

Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePoint
Jeremy Thake
 
Python学习手册(第3版)
Python学习手册(第3版)Python学习手册(第3版)
Python学习手册(第3版)
gavin shaw
 
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
[高性能MySQL(第2版)中文版].施瓦茨.扫描版[高性能MySQL(第2版)中文版].施瓦茨.扫描版
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
gavin shaw
 
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
Dennis Benkert -  The Dog Ate My Deployment - Symfony Usergroup Berlin March ...Dennis Benkert -  The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
D
 

Similaire à PHP Conf Taiwan 2016 自動化與持續整合實作工作坊 (20)

Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
 
Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePoint
 
There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018
There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018
There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018
 
All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
Python学习手册(第3版)
Python学习手册(第3版)Python学习手册(第3版)
Python学习手册(第3版)
 
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
[高性能MySQL(第2版)中文版].施瓦茨.扫描版[高性能MySQL(第2版)中文版].施瓦茨.扫描版
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
 
WordPress London Developer Operations For Beginners
WordPress London Developer Operations For BeginnersWordPress London Developer Operations For Beginners
WordPress London Developer Operations For Beginners
 
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
Dennis Benkert -  The Dog Ate My Deployment - Symfony Usergroup Berlin March ...Dennis Benkert -  The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
 
Experts live2016 - Karim Vaes - end-to-end automation
Experts live2016 - Karim Vaes - end-to-end automationExperts live2016 - Karim Vaes - end-to-end automation
Experts live2016 - Karim Vaes - end-to-end automation
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
Web Application Firewall - Friend of your DevOps Chain?
Web Application Firewall - Friend of your DevOps Chain?Web Application Firewall - Friend of your DevOps Chain?
Web Application Firewall - Friend of your DevOps Chain?
 
Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)
 
Automating the VMware Virtual Datacenter
Automating the VMware Virtual DatacenterAutomating the VMware Virtual Datacenter
Automating the VMware Virtual Datacenter
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 

Plus de Chen Cheng-Wei

Plus de Chen Cheng-Wei (20)

GitOps is IaC done right
GitOps is IaC done rightGitOps is IaC done right
GitOps is IaC done right
 
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
 
Become a GitLab Hero
Become a GitLab HeroBecome a GitLab Hero
Become a GitLab Hero
 
以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享
 
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理
 
DevOpsDays Taiepi 2018 - Farewell 閉幕
DevOpsDays Taiepi 2018 - Farewell 閉幕DevOpsDays Taiepi 2018 - Farewell 閉幕
DevOpsDays Taiepi 2018 - Farewell 閉幕
 
SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章
 
SRE 讀書會 - 導讀:第 30 章
SRE 讀書會 - 導讀:第 30 章SRE 讀書會 - 導讀:第 30 章
SRE 讀書會 - 導讀:第 30 章
 
跟著 geerlingguy 大神
一起測試 Ansible Roles
跟著 geerlingguy 大神
一起測試 Ansible Roles跟著 geerlingguy 大神
一起測試 Ansible Roles
跟著 geerlingguy 大神
一起測試 Ansible Roles
 
iThome Serverless All-Star 開場
iThome Serverless All-Star 開場iThome Serverless All-Star 開場
iThome Serverless All-Star 開場
 
Ignite talks
Ignite talksIgnite talks
Ignite talks
 
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
 
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
 
SRE 讀書會 - 導讀:第一章
SRE 讀書會 - 導讀:第一章SRE 讀書會 - 導讀:第一章
SRE 讀書會 - 導讀:第一章
 
DevOpsDays Taipei 2017 Farewell
DevOpsDays Taipei 2017 FarewellDevOpsDays Taipei 2017 Farewell
DevOpsDays Taipei 2017 Farewell
 
Ignite talks - 自動化的關鍵
Ignite talks - 自動化的關鍵Ignite talks - 自動化的關鍵
Ignite talks - 自動化的關鍵
 
提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?
 
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
從 DevOps 到 ChatOps:War Room、Bots 與 Automation從 DevOps 到 ChatOps:War Room、Bots 與 Automation
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
 
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
 
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

PHP Conf Taiwan 2016 自動化與持續整合實作工作坊