# 2020-05-29 富邦 TIP系統 CI 會議紀錄 * 關注在 Security * spring boot 版本為 2.1.9 * sonarqube 程式碼品質管理 * https://www.bitegarden.com/sonarqube-overview * configuation manager 組態管理 * https://www.microfocus.com/zh-tw/products/dimensions-cm/overview * 多環境部屬 * 目前富邦做法是,從頭到尾都是同一個war檔,在不同環境上會有個固定路徑的檔案目錄,裡面有相關設定檔各自去取得 * 目前是先偷偷去 Artifact 去改掉相關設定 * war檔 解壓縮後 修改其中的檔案 (web.xml) 再壓縮回去 * 保哥建議 讓專案透過環境變數取得共用的參數 * docker run -e ... * dotent core 環境變數 * dotent core appsetting.json * 目前現行最大問題,不可能同一包放在不同環境 * 通常只有主要分支才去做CI/CD,支援性分支、功能分支並不需要 * 設定 branch policies 要是有人 PR 可以做 code review, unit test 等等 * 如果 支援性分支、功能分支 需要 CI/CD, 需要另外設定 branch policies * 假如開了一個新的支援性分支對 develop 做 PR,master、develop都會有 CI/CD * 在 UAT 階段 最多只有到 develop * 到 develop 會 (merge or cherrypick) 到 master , 一個好 devops 期望的最終結果 master 和 develop 的 Artifact 一定是一模一樣!!! * 所有的主要分支都不會有自己的 commit,只會負責 merge!! * 我們做自動化很重要的是鞏固信心 * develop 發 PR 到 master * develop 再發 PR 之前到 master 之前, 兩邊的 source code 肯定不一致 * 建議 master 的 pipeline 觸發一條 production 的 CI/CD * develop 本身被其他支援性分支 發 PR 後 觸發 CI/CD 部屬到 SIT * develop 發PR 到 master 自動觸發 CI/CD 部屬到 UAT (再還沒有跟 master merge 之前) * 假如有一個功能性的分支 (開發2022要上線的報表) 做了一年 * 建議這個模組應該是被獨立開發的,例如: background service * 也必須養成習慣對 develop 做 rebase 在第一時間解決衝突,減少未來的麻煩 * master <- develop <- develop-2 * 情況題 develop 有加D欄位 但 develop2 並不希望會使用到D欄位 * 只要架構切得好!~ 合併(Merge)沒煩惱!~ * 不做 rebase 也沒關係 * 主要分支 CI/CD 流程 * develop 本身一組 CI/CD * develop 發 PR 到 master 一組 CI/CD * master 本身也一組 CI/CD * develop-2 有需要的話,也可以再建立一組 CI/CD  > 重要分支肯定還是得透過一些資深人員,來去控管這樣的流程 > * 重要觀念 * 實際上實踐整個版控的流程是需要好幾個月的時間 * 先做 rebase 的最大好處,可以在自己的電腦第一時間解決衝突 * merge 成功並不代表程式可以跑.這是不一定的!!! * 因此強烈建議,在對重要分支發 PR 的時候,可以觸發一次 CI 的動作,程式 build 的過才可以真正完成 merge,如果失敗就直接 reject,所以這次的 PR 就會被取消 * 我們可以把每次的 merge、rebase 都當作一次教育訓練 * E2E Testing Selenium * IE 相容性設定 * 保哥回答 Selenium 跑 IE 相容性模式應該是沒啥問題! * https://stackoverflow.com/a/52576321/910074 * 保哥推薦工具 * TestCafe 自動化E2E測試工具 * https://devexpress.github.io/testcafe/ * TestCafe Studio 可視化的自動化測試錄製工具 * https://www.devexpress.com/products/testcafestudio/ * PS. 訂閱一年 $249.99 美金 * TIP E2E Testing * 保哥 會遠端操作示範如何撰寫測試腳本 * 示範網站 E2E Testing * 士敬可以先找1~2個測試頁面,然後再跟 Neil 討論測試流程 * Dimensions CM Git Connector * Dimensions CM Git Connector Getting Started Tutorial * https://marketplace.microfocus.com/appdelivery/content/dimensions-cm-git-client * http://knowledgebase.serena.com/resources/sites/KNOWLEDGEBASE/content/live/SOLUTIONS/141000/S141936/en_US/Git%20Connector%20Evaluation%20Tutorial.pdf * Dimensions CM Git Client * https://community.microfocus.com/t5/Dimensions-CM-Tips-Information/Dimensions-CM-Git-Connector-Getting-Started-Tutorial/ta-p/2736444 * How to export version history from Serena Dimensions to Git? * https://stackoverflow.com/a/36547662/910074
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up