Try   HackMD

DevOps高階工程技術實踐

DevOpsDays Taipei 2022 講師版
TW MVC .net Conf Mini 2022

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

  • 開場,Agile Summit 2022 你有來嗎? 送

Agile Summit 2022的小結論

故事

​​​​* CI/CD? 自動化? DevOps究竟是或不是什麼? 
​​​​* 人們缺少什麼,往往就會覺得什麼很重要~
​​​​* ref:
​​​​  https://www.facebook.com/DotNetWalker/posts/pfbid02ZvzQBf4ZDW8edbRFofUGbEjkEzxt1sfLsTYw2A8ykUSjJPJ8RbEydQsFDMtvLr3Zl

DevOps 現場調查

照例,放上本場次的即時現場調查:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Shorten Your Cycle Time

因為

  • 這是敏捷的承諾(頻繁交付、盡快取得反饋、持續改善…etc.)
  • 沒有人不喜歡快速交付(只要可以兼顧品質、安全性、然後又不會額外花錢)
  • 所有User都喜歡變(這是個善變的世界)
  • 盡早(且持續)交付價值

分支策略

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

The fundamental assumption of CI is that there's only one interesting version, the current one. ~ the C2 wiki ~

如果全自動佈署到正式機…

👉如何避免品質不好的程式碼?
👉如何確保沒有安全性問題?

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

什麼是CI(持續整合)?

👉CI主要的任務是促進頻繁的整合,主要產出是高品質、高安全性的 Artifacts

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

CI Pipeline中該有的掃描

CI Pipeline YT Video : https://youtu.be/uXhcrV15B7U
package scan YT Video : https://youtu.be/-r2z2J06Tyw

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

PR-CI Pipeline

PR Pipeline YT Video
https://youtu.be/nakW7EvCuvI

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

自動化UI測試與單元測試

自動化 UI test YT video: https://youtu.be/VBtvenY5tmk
Unit Test YT Video: https://youtu.be/dcRwBbdEow0

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

CD(持續佈署)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

該同一份程式碼產生的同一份Artifact佈署不同的環境嗎?
😣不同環境的設定檔怎麼辦?
😣寫到一半的功能該如何處裡?
😣寫完但還不想上正式機的功能又該怎麼辦?

Feature Toggle

👉就一個後台開關
👉動態決定開啟或關閉某些功能
👉在程式碼當中透過 if…then 判斷敘述來配合
👉具有多種有趣玩法

  • 可以 開 和 關
  • 可以針對人或群組開關
  • 可以針對一定比例的人或群組開關
  • 可以在特定時間開關
  • Feature Toggle的雲端服務有…
    • Azure App Configuration
    • AWS AppConfig
    • LaunchDarkly

feature tggle YT Video:
https://youtu.be/dJngxz2E-WU

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Approval & Release Gate

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

快速交付會不會影響品質

頻繁交付確實讓測試變得極具挑戰,你再也沒有時間測完所有東西

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

基於數據的持續改善

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

小結A

我們實現了甚麼?
👉以數位儀表板清晰的掌握專案狀況
👉頻繁持續的整合、每天合併回主線、降低程式碼隱藏
👉透過PR, Code Review或Pair Programming來提升程式碼品質、促進學習
👉透過PR/CI Pipeline、進行自動化單元測試、程式碼分析、套件掃描,以提升品質與安全
👉自動佈署到測試環境,可進行自動化UI測試、滲透測試
👉透過B/G佈署實現正式環境的Zero-Downtime

小結B

👉DevOps成就了敏捷的承諾
👉以終為始、持續鍛鍊(自己 & 自己的團隊)
👉使用數據、持續改善

總結

💪DevOps May Hurt at First
💪if something is painful or difficult, do it more often.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

講師聯絡方式

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Email: david@isrock.com.tw
🔥FB粉專:https://www.facebook.com/DotNetWalker
🔥YouTube頻道:https://wwjd.tw/809k364
(請按讚、訂閱、小鈴鐺、好人一生平安🙏🙏🙏)
Udemy線上課程:https://wwjd.tw/282k339
實體課程:https://www.studyhost.tw/NewCourses
電子書: https://www.pubu.com.tw/search?condition=fl_ahr%3D董大偉_and_fl_chid%3D
最新著作:

https://www.tenlong.com.tw/products/9786263241251?list_name=b-r7-zh_tw
其他著作:
https://search.books.com.tw/search/query/cat/1/adv_author/1/key/董大偉

tags: 課綱 DevOpsDays Taipei 2022