DevOps flow to improve developer's productivity & quality
1. Modern DevOps Workflow
to increase developer’s productivity & quality
Phi Huynh
R&D Manager
NashTechVietnam
2. Coder thời hiện đại (2017)
DevOps là gì
DevOps và Agile
Continuous Delivery - ứng dụng và khó khăn gặp phải
DevOps Workflow ứng dụng thực tế ở
Agenda
Demo thực tế & thảo luận mở
9. DevOps is a culture and mindset for
collaborating and communicating
between developers and operations
10. DevOps và Agile
Agile làm nhanh, nhưng phải làm như thế nào? => KHÓ!!!
Phải cảm ơn Agile, vì có Agile mới có DevOps
DevOps là bệ phóng cho Agile, it’s true!!!
…
11. DevOps workflow ở NashTech
DevOps
workflow
DEVTOOLS
.NET / Java / FE / PHP/ Mobile …
SOURCE CONTROL (DVCS)
SVN / GITLAB / VSTS / GitlabEnterprise,
GITHUB
Continuous Integration
TeamCity, JENKINS, VSTS, Docker
TEST SUITE
.NET / Java / FE / PHP/ Mobile
Continuous Deployment
.NET / Java / PHP / FE / Mobile
Requirement
• Versioning
• Approval process
• Define pipeline
• Cloud support
END-TO-ENDTESTS
- Selenium, SoapUI, …
MONITORING
New Relic / AppDynamics
Azure AppInsights, …
PLANNING
JIRA, GITLAB, VSTS, GITHUB
COLLABORATION
MS Team / Email / Slack
Confluence / Gitter / Slack
Yêu cầu tối thiểu
• Unit test runner
• Code coverage
• Code analysis
• Đo performance
Requirements
• Notifications
• DVCS Integration
• JIRA Integration
Yêu cầu tối thiểu
• Review code
• Kết nối với JIRA
Continuous feedback
12. Các công cụ không tương tác tốt với JIRA (ví dụ: SVN, GIT…)
Chúng tôi không thực sự có tool review code hiệu quả
Quá nhiều test case bằng tay (security, performance, e2e tests, …)
Nhóm không thực sự dùng tools một cách hiệu quả
Vẫn ít áp dụng code analysis & test code coverage
Các khó khăn khi áp dụng
DevOps Workflow ở
13. DevOps flow approach
Code /Tasks
Gitlab or
Other providers
Docker cluster (Linux container-based) on ACS
CI Pipeline (build / test)
TeamCity
Server
TeamCity
Agents
Test DB
Server
Sonarqube
selenium
CD Pipeline (DEV / UAT / PROD)
Identity
Server
StepOne’s
API
StepOne
Frontend
New app
Docker node 1 Docker node 2 Docker node n…
StepOne
Database
Nginx
proxies
Run on Microsoft Azure Container Service or On-premises
commit trigger
Slack
Continuous Feedback