551 views
# [Week 4] Git、VSCode、CI/CD ###### tags: `MCL` `Weekly Meeting` ### 工讀相關 * 如果是值班時吃飯,要注意工讀區的狀況 ### 其他 * 企劃書下週截止 * SSH Tunnel 工具:MyEnTunnel * RaiDrive v.s. Filezilla * SSO 註冊頁面 * https://sso.mcl.math.ncu.edu.tw/auth/realms/master/account * 透過 Google 快速建立帳號 ## VSCode Bookstack ~ * [關於 VSCode 的系列文件](https://docs.mcl.math.ncu.edu.tw/books/%E9%96%8B%E7%99%BC%E7%92%B0%E5%A2%83/chapter/visual-studio-code) * GitLens * Git History (Git Graph) ## Git Bookstack ~ * [107 Git 會議記錄](https://docs.mcl.math.ncu.edu.tw/books/weekly-meeting/page/week-12-git%E3%80%81github%E3%80%81source-tree) ![](https://hackmd.mcl.math.ncu.edu.tw/uploads/upload_b3dd0c219ccf814448c20dea118e805a.png) > [name=http://jlord.us/git-it/challenges-zhtw/remote_control.html] ### Remote Repository * 透過 Git 管理專案 * 實現多人協作的工作流 * 不只是放原始碼 * 透過 Fork、Clone 快速獲得專案程式碼,任何人任何地方都可以得到最新的資料 * `git pull` 將遠端程式碼更新到自己的主機上 * `git push` 將你的最新程式碼更新到遠端倉儲 * Issue、PR 等強化團隊溝通與合作的工具 * and more ## 題外話:DevOps ![](https://hackmd.mcl.math.ncu.edu.tw/uploads/upload_5f929e3fa1c2bb0e73d6d17163f6ee2c.png) > [name=https://ithelp.ithome.com.tw/articles/10184557] * 強調開發團隊、測試團隊與維護團隊之間的整合概念 * 五個概念 **CALMS** * **C**ulture:對其他部門的同理心 * **A**utomation:自動化排程 * **L**ean:精實開發 * **M**easurement:數據分析與回饋 * **S**hare:成效分享 ### DevOps 工作流 ![](https://hackmd.mcl.math.ncu.edu.tw/uploads/upload_955c392d64052a8cb8eafde67dfe7694.png) > [name=https://devopedia.org/devops] 其中我們會提到 CI/CD: * CI (Continuous integration):持續性發布程式碼更新並自動測試 * CD (Continuous delivery/deployment):通過程式測試後自動部屬到開放服務上 ### 透過 MCL GitLab 實現 CI/CD * CI Example: https://gitlab.mcl.math.ncu.edu.tw/mcl/sample-python-package * CD Example: https://gitlab.mcl.math.ncu.edu.tw/mcl/ncuma ## 參考資源 * [**連猴子都能懂的 Git 入門指南**](https://backlog.com/git-tutorial/tw/) * [入門篇](https://backlog.com/git-tutorial/tw/intro/intro1_1.html)會介紹 Git 的初始設定方式、以及介紹個人開發的時候可能需要注意的事情 * [進階篇](https://backlog.com/git-tutorial/tw/stepup/stepup1_1.html)會介紹多人開發會遇到的工具 (如 Branch),以及一些 Git 的進階操作 * [使用 VS Code 的 Git 功能](https://dotblogs.com.tw/lapland/2016/04/19/172848)