description |
---|
🤔 DevOps เขาทำกันยังไงนะ? |
ตัวคอร์สนี้เราจะมาดูกันว่าการเริ่มต้นทำ DevOps นั้นมันง่ายขนาดไหน โดยเราจะใช้เจ้าสิ่งที่ชื่อว่า Azure DevOps มาเป็นตัวช่วยในการทำ Build pipeline, Repository, Kanban Board และผองเพื่อนทั้งหลายของสิ่งที่ DevOps ควรจะต้องมี ดังนั้นเริ่มต้นกันเบยยย
{% hint style="success" %}
แนะนำให้อ่าน
สำหรับเพื่อนๆที่ต้องการศึกษาว่า DevOps คืออะไร ก็สามารถเข้าไปดูได้จากบทความนี้เบย 👶 DevOps พื้นฐาน
{% endhint %}
ทาง Microsoft เขาได้จัดเต็มมาให้เลย เพราะเขาก็ใช้ตัวนี้ในการทำงานจริงๆเหมือนกัน ดังนั้นเราจะไปไล่ดูกันแต่ละตัวเลยดีกว่าว่ามีไรบ้าง
ตัวนี้จะเป็นหน้าบอร์ดกำหนดแผนการทำงานต่างๆ เช่นการทำ Product Backlog การทำ Planning ต่างๆ โดยจะออกมาเป็นลักษณะของ Kanban boards โดยมีตัวเลือกให้เราหลายแบบเช่นแบบของ Scrum ซึ่งตัวมันสามารถกำหนดงานได้หลายระดับ เช่น Epic > Feature > Story > Task และแต่ละตัวสามารถกำหนดคนรับผิดชอบได้มากกว่า 1 คน ส่วนรายละเอียดอื่นๆเดี๋ยวไปไปลงรายละเอียดต่อที่บทความมันเอานะ ดูรวมๆก็จะคล้ายๆกับ Trello แต่มันเหนือกว่ามากเพราะมัน Custom ได้เยอะม๊วกๆ + มี Market เหมือน trello ด้วย
นอกจากนั้นมันยังสามารถผูกตัว Feature, Story, Task ต่างๆเข้ากับการ commit งานของเราได้ด้วย เพื่อให้ระบบมันทำ Automation ในการเลื่อนงานไปยัง state ต่างๆ อีกทั้งยังมีการทำกราฟ สรุป performance ของทีม หรือ ของคนได้อีกด้วย (custom ได้หมดเลย)
สำหรับคนที่ใช้ GitHub อยู่แล้วนี่สบายเลย เพราะเราสามารถทำงานใช้ Azure DevOps ร่วมกับ GitHub ได้เลย
และอย่างที่บอกว่าเขาก็มี Marketplace ให้เราเลือกไปทำงานร่วมกับส่วนอื่นๆอีกเยอะเบย
เป็นตัวที่จะมาช่วยให้เราทำ Build pipeline ได้แบบสะดวกสุดๆ รองรับภาษาหลากหลายม๊วก แถม custom ได้เองเลยถ้าในตัวเลือกไม่มี ดังนั้นเราก็จะสามารถจัดการให้มันตรวจสอบโค้ด + เอางานถึง Environments ต่างๆได้แบบหายห่วงเลยทีเดียว
แถมยังมีตัวเลือกว่าจะให้ build บน Windows หรือ Linux ได้ด้วยนะ และ custom pipeline ได้ตามใจชอบเลย
Microservices ก็ไม่หวั่นด้วย Kubernetes เขาก็ดูแลให้เรา
และต่อให้ Source code เราอยู่แห่งหนใดเราก็รองรับนะจ๊ะ ไม่ว่าจะเป็น GitHub, GitLab, Bitbucket, private repo หรืออะไรก็ตามรับได้หมด
ภายใน Azure DevOps นั้นเขามีให้เราสร้าง Repository ในนั้นได้เลย แถมยังเลือกเป็น Public/Private ได้โดยไม่ต้องเสียเงินเพิ่มอีกด้วย แถมภายใน 1 project เรายังสามารถตั้ง Repo ได้มากกว่า 1 ตัวอีกด้วย แถม features ต่างๆที่ GitHub มีส่วนใหญ่บนนั้นก็มีเช่นกัน
และนอกเหนือจากนั้น เรายังสามารถตั้งค่าเงื่อนไขในการทำงานกับแต่ละ Branch แต่ละ Repo ได้ด้วย
สำหรับเรื่องการทดสอบต่างๆก็ไม่น้อยหน้า รองรับการทำ Automation Testing และ Manual Testing ครบวงจร แถมยังเอามาออกรายงานต่างๆได้ด้วย
ตัวอย่าง Manual Testing
เนื่องจากตัว Azure DevOps มันมี Repository และทำการ Build project เราได้ ซึ่งไหนๆมันก็มีมาขนาดนี้แล้ว เขาเลยจัดต่อให้มันสามารถเอาไปตั้งเป็น Packages ได้ด้วยเช่น Maven, npm, NuGet, Python packag ต่างๆแถมยังเลือกเป็น private หรือ public ก็ได้ด้วย
สำหรับใครที่ถนัดใช้เครื่องมือในการทำ Automation แบบต่างๆตัวอื่นอยู่แล้ว ก็สามารถใช้ เครื่องมือที่ถนัดเข้ามาร่วมได้เลย อย่างเช่น Jenkins, Ansible, Chef, Puppet, Terraform
ตัวช่วยในการจับความผิดปรกติ + รายงานสถานะของเซิฟเวอร์ของเราทั้งหมด เพื่อให้เราสามารถติดตามสิ่งผิดปรกติในซอฟต์แวร์และแก้ไขปัญหาได้ทันท่วงทีนั่นเอง ซึ่งเจ้าตัวนี้เขามีระบบแสดงผลและแจ้งเตือนที่น่าสนใจมาก เช่นเขาจะบอกมาเลยว่าเซอฟเวอร์เราผิกปรกตินะช่วงนี้ลองเช็กเรื่องนี้หน่อยไหม? หรือเซิฟเวอร์เราตกเรื่อง security แบบนี้นะแถมยังแนะนำวิธีการทำ security ให้อีกต่างหาก ถ้าได้ลองใช้แล้วรับรองว่ารักเบย
และอย่างที่เคยบอกไปว่า งานของเราควรจะทำไว้ที่คลาว์ดังนั้นระบบ Monitoring มีทุกระดับให้เราลองเล่นเลย
แค่น้ำจิ้มของคอร์ส Azure DevOps ก็น่าสนใจละ เพราะเครื่องเมื่อแต่ละตัวมันใช้ง่ายม๊วกๆจนแทบเรียกว่าไปลองเล่นเองวันนี้ก็ทำเป็นเลยก็ว่าได้ และแต่ละตัวยังจะมาช่วยลดงานของเราทำให้เราชีวิตเราสบายขึ้นเยอะเลย ดังนั้นเราไปลองดูกันดีกว่าว่า ถ้าอยากลองใช้ Azure DevOps กันละ เราจะเริ่มต้นใช้งานยังไงดี
{% hint style="info" %} คอร์สนี้กำลังค่อยๆเขียนอยู่ ซึ่งจะค่อยๆทยอยอัพเดทลงตรงนี้เรื่อยๆ ส่วนใครที่ไม่อยากพลาดอัพเดทคอร์สนี้หรืออยากรับบทความใหม่ๆ สามารถเข้าไปกด Like เพื่อรับข่าวสารใหม่ๆจาก Facebook Blog: Mr.Saladpuk ได้นะครับ 😍 {% endhint %}
{% hint style="warning" %} บทถัดไปจะเอามาลงตอนเย็นๆวันที่ 4/11/2019 นะฮ๊าฟ {% endhint %}
{% page-ref page="azure-devops.md" %}
{% page-ref page="repository.md" %}
{% page-ref page="ci.md" %}
{% page-ref page="cd.md" %}
{% page-ref page="kanban-board.md" %}
- การตั้งทีม และ สิทธิ์ต่างๆ
- คิดอะไรออกเดี๋ยวเอามายัดๆลงตรงนี้ละกันนุ๊