DevOps高階工程技術實踐 === > DevOpsDays Taipei 2022 講師版 > TW MVC .net Conf Mini 2022  * 開場,Agile Summit 2022 你有來嗎? 送... ### Agile Summit 2022的小結論 * 沒有技術能力支撐的開發團隊,就如同沒有體力支撐的球隊 * DevOps成就了敏捷的承諾 * 沒有技術能力和工程方法支撐的敏捷,只能凸顯問題。 ref: https://www.facebook.com/DotNetWalker/posts/pfbid0xkHmfNSms9tEqzbYfMUm64UwJso7PjpbAwxybwXmkHMkW1dEWBGVYBF49E3qUq5Gl ### 故事 * CI/CD? 自動化? DevOps究竟是或不是什麼? * 人們缺少什麼,往往就會覺得什麼很重要~ * ref: https://www.facebook.com/DotNetWalker/posts/pfbid02ZvzQBf4ZDW8edbRFofUGbEjkEzxt1sfLsTYw2A8ykUSjJPJ8RbEydQsFDMtvLr3Zl ### DevOps 現場調查 照例,放上本場次的即時現場調查:   ### Shorten Your Cycle Time 因為 * 這是敏捷的承諾(頻繁交付、盡快取得反饋、持續改善…etc.) * 沒有人不喜歡快速交付(只要可以兼顧品質、安全性、然後又不會額外花錢) * 所有User都喜歡變(這是個善變的世界) * 盡早(且持續)交付價值 ### 分支策略   * What is continuous integration? (Atlassian) https://www.atlassian.com/continuous-delivery/continuous-integration * Continuous Integration(Martin Fowler) https://martinfowler.com/articles/continuousIntegration.html * Git Flow Is A Bad Idea (Dave Farley) https://www.youtube.com/watch?v=_w6TwnLCFwA >The fundamental assumption of CI is that there's only one interesting version, the current one. ~ the C2 wiki ~ ### 如果全自動佈署到正式機… 👉如何避免品質不好的程式碼? 👉如何確保沒有安全性問題?  ### 什麼是CI(持續整合)? 👉CI主要的任務是促進頻繁的整合,主要產出是高品質、高安全性的 Artifacts  ##### CI Pipeline中該有的掃描 > CI Pipeline YT Video : https://youtu.be/uXhcrV15B7U > package scan YT Video : https://youtu.be/-r2z2J06Tyw  ##### PR-CI Pipeline > PR Pipeline YT Video > https://youtu.be/nakW7EvCuvI  ##### 自動化UI測試與單元測試 > 自動化 UI test YT video: https://youtu.be/VBtvenY5tmk > Unit Test YT Video: https://youtu.be/dcRwBbdEow0   ### CD(持續佈署)  該同一份程式碼產生的同一份Artifact佈署不同的環境嗎? 😣不同環境的設定檔怎麼辦? 😣寫到一半的功能該如何處裡? 😣寫完但還不想上正式機的功能又該怎麼辦? #### Feature Toggle 👉就一個後台開關 👉動態決定開啟或關閉某些功能 👉在程式碼當中透過 if…then 判斷敘述來配合 👉具有多種有趣玩法 * 可以 開 和 關 * 可以針對人或群組開關 * 可以針對一定比例的人或群組開關 * 可以在特定時間開關 * Feature Toggle的雲端服務有… * Azure App Configuration * AWS AppConfig * LaunchDarkly > feature tggle YT Video: > https://youtu.be/dJngxz2E-WU  ### Approval & Release Gate      ### 快速交付會不會影響品質 頻繁交付確實讓測試變得極具挑戰,你再也沒有時間測完所有東西   ### 基於數據的持續改善  ### 小結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.  講師聯絡方式 ===  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%E8%91%A3%E5%A4%A7%E5%81%89_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/%E8%91%A3%E5%A4%A7%E5%81%89 [](https://line.me/R/ti/p/%40dfe5542k) ###### tags: `課綱` `DevOpsDays Taipei 2022`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.