Building Continuous Integration with Jenkins - up1/training-courses GitHub Wiki
Description
เป็น course สำหรับปูพื้นฐานที่จำเป็นเรื่อง Continuous Integration และ Continuous Delivery ในการพัฒนา Software ว่ามีแนวคิด เทคนิค และแนวปฏิบัติอย่างไรบ้าง เพื่อช่วยเพิ่มคุณภาพและความเร็วในการส่งมอบ Software ที่พัฒนา ทั้งเรื่องขั้นตอนการทำงานตั้งแต่ source code ไปจนถึงการติดตั้ง Software เช่น
- การจัดการ source code ที่ดี
- การตรวจสอบและวิเคราะห์ source code
- การ build/compile/package
- การทดสอบในระดับต่าง ๆ เช่น Unit test, Integration test, Acceptance test และ End-to-End test เป็นต้น โดยใน workshop จะเน้นเรื่องของ User Interface test และ API test ตามสถาปัตยกรรมของระบบงาน
- การติดตั้งระบบงาน (Deploy and Release)
Target groups
- Software Analyst
- Software Tester and QA
- Software Programmer/ Developer/Engineer
- System Administrator
Learning objectives
- รู้และเข้าใจและออกแบบ Continuous Integration และ Continuous Delivery
- ทำการสร้างชุดการทดสอบแบบอัตโนมัติทั้ง User Interface test และ API test ได้
- ทำการออกแบบขั้นตอนการส่งมอบงานที่มีคุณภาพ
Time : 2 days
Topics
Day 1
-
Introduction to CI และ CD
- Continuous Integration คืออะไร
- Continuous Integration vs Continuous Delivery vs Continuous Deployment คืออะไร ต่างกันอย่างไร
- Goals of Continuous Integration
- Practices of Continuous Integration and Continuous Delivery
-
Build pipeline
- Build pipeline คืออะไร
- การออกแบบ build pipeline
- Fast feedback
- Quality build-in
- Processes
- Build, Deploy and Test
- Workshop
- สำหรับการออกแบบ build pipeline ของแต่ละระบบงาน
- สร้าง build pipeline ตามที่ออกแบบ
-
Workshop CI/CD with Jenkins
- Installation and Configuration of CI Server with Jenkins
- Create first job
- Working with source code repository
- Dependency checking
- Static code analysis
- Add unit testing report
- Code coverage
- Automated testing
- Web
- API
- Database
- Automated deployment
Day 2
-
Automated testing
- Testing pyramid
- Type of testing
- Unit test
- Integration test
- Component test
- Contract test
- End-to-End test
- Workshop
- เพิ่มการทดสอบแบบอัตโนมัติไปใน build pipeline และ การทดสอบ
-
User Interface Testing (Web Browser)
- ทำการสร้างและพัฒนาชุดการทดสอบแบบอัตโนมัติ
- UI Testing tools
- Robot Framework and Selenium
- Playwright
- Selenium grid
- สำหรับการสร้างการทดสอบ User Interface แบบ parallel เพื่อเพิ่มประสิทธิภาพของการทดสอบ
- ทำความรู้จัก และ ใช้งาน
- การใช้งาน
- ติดตั้งแบบ manual
- ติดตั้งด้วย Docker
- Workshop
- การติดตั้งและพัฒนา
- เพิ่มการทดสอบแบบอัตโนมัติไปใน build pipeline
-
API Testing
- ทำการสร้างและพัฒนาชุดการทดสอบแบบอัตโนมัติ
- เครื่องมือที่ใช้งาน
- Postman with newman
- Workshop
- การติดตั้งและพัฒนา
- เพิ่มการทดสอบแบบอัตโนมัติไปใน build pipeline
-
Manage Environment for Automation testing and process
- Web layer
- API layer
- Database layer
- Process
- Build
- Test
- Deploy
- Test again
- Manage data for testing
- Mocking data
- Mocking database
- Mocking API server