ใบสมัคร โครงการการอบรมเชิงปฏิบัติการ หลักสูตร "พัฒนาซอฟต์แวร์ และสร้างทีม Dev สมัยใหม่ด้วย Git, Docker และ DevOps"
กำหนดการโครงการการอบรมเชิงปฏิบัติการ
หลักสูตร "พัฒนาซอฟต์แวร์ และสร้างทีม Dev สมัยใหม่ด้วย Git, Docker และ DevOps"
ระหว่างวันที่ 6-8 มกราคม พ.ศ. 2563

ณ ห้องปฏิบัติการคอมพิวเตอร์ ชั้น ๒ C๒๐๙ อาคาร ICIT มหาวิทยาลัยราชภัฏอุตรดิตถ์
------------------------------------------------------------------

วัตถุประสงค์ของหลักสูตร
• เพื่อให้ผู้เรียนสามารถเข้าใจหลักการทำงานของ Git และสามารถนำไปปรับใช้กับตัวเอง และทีมได้
• เพื่อให้ผู้เรียนมีความรู้ และใช้งานระบบปฏิบัติการ Linux (Ubuntu) การตั้งค่า และคำสั่งพื้นฐานต่างๆ ได้
• เพื่อให้ผู้เรียนมีความรู้ ความเข้าใจ เกี่ยวกับ Docker , Docker Compose และสามารถนำไปใช้งานจริงได้
• เพื่อให้ผู้เรียนเรียนรู้หลักการของ DevOps และสามารถนำไปใช้กับองค์กรได้
• เพื่อให้ผู้เรียนเข้าใจหลักการของ CI/CD เครื่องมือต่างๆ และสามารถประยุกต์ใช้กับการพัฒนาซอฟต์แวร์ได้
• เพื่อให้ผู้เรียนสามารถติดตั้ง Self-hosted Git เพื่อใช้ในองค์กรของตัวเองได้
• เพื่อให้ผู้เรียนสามารถติดตั้ง Container Registry เพื่อใช้งานในองค์กรของตัวเองได้
• เพื่อให้ผู้เรียนสามารถนำเทคโนโลยีใหม่ๆ ทั้งในส่วนของ Frontend และ Backend เช่น Angular, React, Node.js, PHP, ASP.NET Core มาสร้าง ทดสอบ และส่งมอบซอฟต์แวร์แบบอัตโนมัติได้
• เพื่อให้ผู้เรียนสามารถใช้งาน GitLab เพื่อเขียนโค้ด และทำงานร่วมกันเป็นทีมได้
• เพื่อให้ผู้เรียนได้เข้าใจถึงหน้าที่ และบทบาทต่างๆ ด้วยการทดลองทำงานเป็นทีม

พื้นฐานผู้เรียน
• เคยเขียนโปรแกรม หรือเคยพัฒนาซอฟต์แวร์มาก่อน


เนื้อหาการเรียนและตารางเรียน 3 วัน
เวลา เนื้อหา
วันที่ 6 มกราคม 2563
09.00 – 10.30 น. - การเตรียมเครื่องมือและโปรแกรมต่างๆ
• ติดตั้ง Git และตั้งค่า
• ติดตั้ง Git GUI
• ติดตั้ง Visual Studio Code (Editor)
• ติดตั้ง Extensions ของ Visual Studio Code ที่จำเป็น
• ติดตั้ง ssh client
• การตั้งค่าต่างๆ
- การใช้งาน Git พื้นฐาน
• คำสั่ง Git พื้นฐาน และการตั้งค่าต่างๆ
• ทำความรู้จักกับไฟล์ .gitignore
• การสร้าง Git Repository
• โครงสร้างของ Repository
• การเพิ่มไฟล์เข้าไปยัง staging area
• การ Commit ไฟล์ต่างๆ
• การ Undo ไฟล์ต่างๆ
• การทำ Stashing
10.30 – 10.45 น. พักเบรก
10.45-12.00 น. - การใช้งาน Git (ต่อ)
• การสร้าง Branches ใหม่
• การ Checkout Branches
• การลบ Branches
• การ Merging branches
• การ push โค้ดไปยัง remote repository
• การ pull และ fetch โค้ดจาก remote repository
• การใช้งาน Tags
• การใช้งาน Rebasing
• การใช้งาน Git Flow ด้วย Git GUI
12.00 – 13.00 น. พักรับประทานอาหาร
13.00 – 14.30 น. - การใช้งาน GitLab พื้นฐาน
• สมัครสมาชิก GitLab ฟรี
• การตั้งค่าต่างๆ ของ GitLab
• ทำความรู้จักกับ GitLab Workflow
• การสร้างกลุ่มของโปรเจค
• ทดลองสร้างโปรเจค หรือ Repository และ ทดลอง push โค้ดจาก Local
• การสร้างไฟล์ README, CHANGELOG
• ทดลอง commit ไฟล์ต่างๆ ไปยัง GitLab
• เพิ่มสมาชิกเข้ามาในโปรเจค
• ทดลอง fetch โค้ดจาก GitLab
• ทดลองทำ Merge Requrests
• การสร้าง Labels
• การใช้งาน Issues และ Issue tracking
• การสร้าง Milestones, Due date และ Issue Board
• การเชื่อมต่อกับ Slack เพื่อใช้แจ้งเตือน และคุยกันในทีม
• แนะนำฟีเจอร์อื่นๆ ของ GitLab เช่น Wiki, Snippets เป็นต้น
- คำสั่ง Linux พื้นฐาน (Ubuntu)
• การสร้างไฟล์ใหม่
• การแก้ไข และบันทึกไฟล์
• การคัดลอก และลบไฟล์
• การดูรายการไฟล์ต่างๆ
• ดู directory ปัจจุบัน
• แสดงเนื้อหาของไฟล์
• การ start และ stop services ต่างๆ
• การอัปเดต และอัปเกรดระบบ
• คำสั่งอื่นๆ
14.30 – 14.45 น. พักเบรก
14.45 – 16.30 น. - การใช้งาน Docker
• Docker คืออะไร
• แนะนำการติดตั้ง Docker และ Docker Compose
• การใช้งานคำสั่งพื้นฐานของ docker
• ทำความเข้าใจกับไฟล์ “Dockerfile”
• การสร้าง Images และการใช้งาน Containers
• ทดลองสร้าง Images
• แนะนำ Docker Registry
• ทดลอง Push Docker Images
• ความรู้เกี่ยวกับ Docker Networking
• การใช้งาน Docker Compose เบื้องต้น

วันที่ 7 มกราคม 2563
09.00 – 10.30 น. - แนะนำ และเตรียม Workshop สำหรับการใช้งาน Git แบบทีม
• แนะนำบทบาทของหัวหน้าทีม
• แนะนำบทบาทของสมาชิกในทีม
• แนะนำ Workflow ของ GitLab
• ให้ Workshop Repository เพื่อให้แต่ละทีมนำไปใช้
• อธิบาย Workshop และฟีเจอร์ที่จะต้องทำ
10.30 – 10.45 น. พักเบรก
10.45 -12.00 น. - Workshop การใช้งาน Git และการทำงานเป็นทีม
• แบ่งกลุ่ม เพื่อทำงานเป็นทีม
• เลือกหัวหน้าทีม และสมาชิกในทีม
• หัวหน้าทีมตั้งค่า GitLab ทั่วไป
• หัวหน้าทีมเชิญสมาชิกในทีมร่วมพัฒนาซอฟต์แวร์
• หัวหน้าทีมสร้าง Repository และ Branches ต่างๆ
• สมาชิกในทีมเขียนโค้ดและ push ฟีเจอร์ต่างๆ
• ทดลองสร้าง Issue และ Merge Requrest
• ทดสอบ Workshop ที่ได้จนสามารถทำงานได้จริง
12.00 – 13.00 น. พักรับประทานอาหาร
13.00 – 14.30 น. - ติดตั้ง Self-hosted GitLab บน Ubuntu Server
• สมาชิกในทีมช่วยกันติดตั้ง GitLab Server ของกลุ่ม
• ติดตั้ง Docker
• ตั้งค่า GiLab พื้นฐาน และ Mail
• ตั้งค่า SSH Key
• ตั้งค่า Profile ของผู้ดูแลระบบ และสมาชิก
• ทดลองสร้าง Repository ใหม่

- ติดตั้ง GitLab Runner ให้กับ Server เพื่อเตรียมทำ CI/CD
• สมาชิกในทีมช่วยกันติดตั้ง GitLab Runner
• จัดการ Registering Runners ให้กับ Server
• ทดลองสร้าง Runner ให้กับกลุ่มโปรเจค

- ติดตั้ง Docker Registry ของกลุ่ม
• สมาชิกในทีมช่วยกันติดตั้ง และตั้งค่า Docker Registry

14.30 – 14.45 น. พักเบรก
14.45 – 16.30 น. - ตั้งค่า Production Server
• สมาชิกในทีมช่วยกันทำการติดตั้ง Production Server
• ทดลอง Deploy Web App ที่ทำขึ้นไปยัง Production Server (แบบ Manual)
วันที่ 8 มกราคม 2563
09.00 – 10.30 น. - แนะนำ DevOps
• DevOps คืออะไร
• CI/CD คืออะไร
• หลักการ และการนำ CI/CD เพื่อใช้งานในกระบวนการพัฒนาซอฟต์แวร์
• แนะนำเครื่องมือต่างๆ สำหรับงาน CI/CD
10.30 – 10.45 น. พักเบรก
10.45-12.00 น. - การใช้งาน GitLab ร่วมกับ CI/CD
• การตั้งค่า และใช้งาน Runners
• แนะนำ Pipelines และ การสร้าง Stages
• การใช้งาน Schedules
• การเขียนไฟล์ .gitlab-ci.yml
• หลักการ และการใช้ cache
• แนะนำ และใช้งาน Job Artifacts
• การใช้งาน Environment variables
• การตั้งค่าและใช้งาน Environment
12.00 – 13.00 น. พักรับประทานอาหาร
13.00 – 14.30 น. - CI/CD กับการใช้งานร่วมกับ Docker
• การเขียน Docker Images
• การ Build Docker Images
• การใช้งาน Container Registry
• การนำ Docker Images ไปใช้งาน
- กรณีศึกษาการเขียนไฟล์ .gitlab-ci.yml
• สำหรับ build และ deploy React
• สำหรับ build และ deploy Angular
• สำหรับ build และ deploy Node.js
• สำหรับ build และ deploy PHP
• สำหรับ build และ deploy ASP.NET Core
• อื่นๆ
14.30 – 14.45 น. พักเบรก
14.45 – 16.30 น. - Workshop การนำ DevOps มาใช้งาน (แบบทีม)
• สมาชิกในทีมทำความเข้าใจกับ Workshop (มีโจทย์ให้แต่ละกลุ่ม)
• สร้าง Repository ใหม่
• ช่วยกันตั้งค่าการทำ CI/CD
• ช่วยกันเขียนไฟล์ .gitlab-ci.yml จากโจทย์ที่กำหนดให้
• ทดสอบระบบ
สรุปและปิดอบรม



สเปคเครื่องคอมพิวเตอร์ที่ต้องการ
• Ram อย่างน้อย 8 GB ขึ้นไป

การเตรียมเครื่องก่อนเรียน มีดังนี้
ให้ผู้เรียนเตรียม Notebook หรือ Mac ท่านละ 1 เครื่อง สำหรับ Notebook แนะนำเป็น Windows 10 แบบ 64bit ครับ (Windows 7 หรือ 8 ก็พอใช้ได้ครับ 64 bit เหมือนกัน แต่ไม่แนะนำจะมีปัญหาให้แก้เยอะกว่า)
แนะนำ RAM 8 GB ขึ้นไป นะครับ หรือถ้าไม่ได้ก็ราวๆ 6 GB ได้

*สำหรับท่านที่ใช้ MAC ต้องเคยใช้ MAC คล่องมาแล้ว และติดตั้งโปรแกรมด้วยตัวเองได้นะครับ ตามรายการด้านล่างนี้ หรือดูคู่มือของ Mac ได้ที่
https://facebook.github.io/react-native/docs/getting-started

ต่อไปเป็นโปรแกรมที่ควรต้องลงมาก่อนอบรมครับ

1. ติดตั้ง git ก่อน ดาวน์โหลดได้ที่นี่ โดยคลิก next อย่างเดียวจนเสร็จเรียบร้อย
https://git-scm.com/download/

2. ติดตั้ง Node.js เวอร์ชัน 10 เท่านั้น โดยคลิก next อย่างเดียวจนเสร็จเรียบร้อย ตามลิงก์
https://nodejs.org/dist/v10.16.0/node-v10.16.0-x64.msi

สำหรับ mac แนะนำเวอร์ชั่น 10 เช่นเดียวกัน

3. ติดตั้ง python เวอร์ชัน 2 เท่านั้น
https://www.python.org/downloads/release/python-2716/

สำหรับ mac แนะนำเวอร์ชั่น 2 เช่นเดียวกัน

4. ติดตั้ง Visual Studio Code คลิก next อย่างเดียวจนเสร็จเรียบร้อย ตามลิงก์
https://code.visualstudio.com/

(คลิกที่ปุ่ม Download for Windows)

5. ติดตั้ง JRE เวอร์ชัน 8 เท่านั้น คลิก next อย่างเดียวจนเสร็จเรียบร้อย สมัครสมาชิก่อน แล้วคลิก Accept License Agreement ด้วย
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

6. ติดตั้ง Java JDK เวอร์ชัน 8 คลิก next อย่างเดียวจนเสร็จเรียบร้อย Accept License Agreement
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

7. ติดตั้ง Android Studio คลิก next อย่างเดียวจนเสร็จเรียบร้อย เช่นเดียวกัน
https://developer.android.com/studio/

8. แนะนำให้เปิด Virtualization Technology (Intel VT-x) ที่ BIOS (กด F2 หรือ Delete หรือ Esc เพื่อเข้า BIOS)
มองหาเมนู หรือคำว่า "VT", "Virtualization Technology", หรือ "VT-d." แล้วเปิดใช้งาน จากนั้นบันทึก แล้ว restart อีกครั้ง


Email address *
คำนำหน้านาม *
ชื่อ *
สกุล *
หน่วยงาน *
โทรศัพท์ที่ทำงาน
โทรศัพท์มือถือ *
E-mail *
หมายเหตุ
1. ติดต่อสอบถามรายละเอียดเพิ่มเติมได้ที่ อาจารย์พรเทพ จันทร์เพ็ง โทรศัพท์ 055-416601-31 ต่อ 1850 , 089-9570965
โปรดสมัครภายในวันที่ 20 ธันวาคม 2562
2. ผู้เข้าอบรมนำเครื่องคอมพิวเตอร์โน้ตบุ๊กมาเอง
Submit
Never submit passwords through Google Forms.
This form was created inside of มหาวิทยาลัยราชภัฏอุตรดิตถ์.