您的瀏覽器不支援JavaScript功能,若網頁功能無法正常使用時,請開啟瀏覽器JavaScript狀態

img
×  登入
 各類專區
跳到主要內容區塊 目前檢視身分

QuEye CIS–Continuous Integration Service (持續整合平台服務 )

標案名稱108年第一次電腦軟體共同供應契約採購
組  別5
單  位
項  次19
採購數量級距1-5
產  地
評  價

產品功能規格

面對快速變動的軟體開發需求,想要維持軟體的高品質要求,持續整合(Continuous Integration;CI)是重要的關鍵;QuEye CIS 持續整合平台服務提供了Jenkins、Git、SonarQube三種主要工具,透過視覺化介面,輕鬆管理軟體開發自動化建置流程及軟體開發之品質,加速系統上線的品質與效率。

特色1:與版控軟體整合,自動取出原始碼
QuEye CIS 提供版控整合服務,由這些版本控管軟體取回原始碼,存放至Jenkins預設的工作區域(Workspaces),如此才能順利進行後續步驟。通常CI Server預設取出最新版本的原始碼,當然也可以依據版本號碼或是標籤(Tag),指定取回特定版本。
特色2:整合建置工具,自動建置執行碼
當CI Server取出原始碼後,最基本的檢測就是對程式碼進行編譯,來檢查每一支程式的結構及語法使用;或是進行所有程式的建置(Build),來檢查整個專案的完整性。
特色3:整合檢測工具,自動檢測原始碼或執行碼
QuEye CIS 包含了SonarQube的導入,SonarQube 是一套相當完整的程式碼品質分析工具及管理平台,目前已支援超過20種主流程式設計語言,它管理的程式碼品質主要涉及七個維度: 程式碼架構與設計、重複度、單元測試覆蓋率、複雜度、潛在bug、程式碼撰寫風格及標準、程式碼註釋。
特色4:整合系統工具,進行自動上版部署
應用系統上線部署,有一定的作業程序,例如檢查佈署內容的完整性(Integrity Check),確認使用合適的帳號、停止執行中的服務、將佈署內容移至正確的位置、重啟服務等。這些動作,多半可以透過系統命令完成,並且可以撰寫部署腳本(script),將這些動作串連起來。
特色五: 靈活整合更多工具,驗證更加完整
QuEye CIS 除了整合Git、SonarQube、JUnit、NUnit、Jmeter、Selenium 外,可以搭配 Jenkins plugin 或是用 Command line 方式整合其他工具。無論是開源工具或是商業軟體,都可以輕鬆整合至QuEye CIS平台,,讓持續整合內容更完善。
特色6:協助日常開發,每天回饋問題及早解決
IT開發人員可以藉由QuEye CIS 定期(每日)產生品質掃描報表,知道程式潛在性的問題,並透過修改建議,立即將問題修正完畢,不會等到開發後期才發現問題,需要花更多的成本來修復。
特色7:輕鬆管理專案,知道欠了多少技術債
技術債(Technical debt)是指開發人員為了加速軟體開發,妥協改用了短期能加速系統完成的方案,因而在未來給自己帶來額外的開發負擔。QuEye CIS SonarQube 提供視覺化介面,讓你很快知道所有專案背負的技術債及細節資訊。
特色8:設定上版門檻,杜絕有問題的程式上線
當程式準備上版前,應該有完整的品質測試,並依照結果判定是否可以上線。QuEye CIS 提供自動化判定,依照公司內部之規則,決定是否繼續進行建置部署,或是退回重新修改程式。杜絕因為人工誤判,或是故意放行,造成系統上線後嚴重的錯誤發生。
特色9:回報單元測試涵蓋率,掌握測試是否完整
QuEye CIS 提供單元測試涵蓋率的統計報表,讓管理者清楚每個專案單元測試的完整性,也能設定放行門檻,提高軟體設計師撰寫單元測試的涵蓋率。
特色10:自動完整功能測試,提高使用者滿意度
當程式撰寫完成,並部署到伺服器之後,通常是用人工方式進行測試,但人工測試耗費大量人力與時間,也容易造成疏忽,QuEye CIS 提供 Selenium 自動測試工具,完全模擬網頁操作,並藉由CI Server 自動執行,驗證結果是否正確。
特色11:自動執行效能測試,應用系統不塞車
QuEye CIS平台提供簡單但功能強大的整合能力:只要具備CLI(command-line Interface; 命令列控制介面) 的軟體,都能與其進行整合。以Jmeter為例,便提供了CLI,使用者可以在系統命令列執行程式,來執行壓力測試。
特色12:end-to-end 自動持續整合,減少人為疏失
QuEye CIS 提供 end-to-end 自動持續整合,透過Jenkins 持續整合平台,串連Git版本控管、自動建置、自動部署、單元測試、功能測試、壓力測試、程式碼品質檢測,在每次驅動系統整合過程中,自動執行全部的工作,並將所有結果集中呈現。

功能規格/基本需求

1. 功能規格
(1) 版本控管平台 Git
A. 建立儲存庫(Repository),提供方便保存程式碼平台。
B. 提供開發人員上傳程式之介面,可整合於開發環境。
C. 有效率協同開發,隨時散佈程式給其他開發成員。
D. 完整歷史紀錄,記錄誰在什麼時候、因為什麼原因改變了什麼?
E. 建立Branch, 不同情境可以分別開發,不受干擾。
F. 提供標籤功能(Tag),隨時紀錄重要里程碑,以便後續作業或上版之參照。
(2) 持續整合平台 Jenkins
A. 提供版本控管平台整合功能
B. 提供自動建置功能
C. 提供檢測工具整合功能
D. 提供自動部署功能
(3) 持續品質分析 SonarQube
A. 提供專案儀表板,設定品質門檻
B. 提供專案技術債分析報表
C. 找出潛在性的程式問題(bug)
D. 提供程式撰寫修改建議
E. 提供程式結構分析
(4) 持續測試工具 JUnit/NUnit/Jmeter/Selenium
A. 提供單元測試 framework
B. 提供壓力測試平台
C. 提供功能測試平台
(5) 自動建置工具 Ant/Maven/Gradle/MS Build
A. 提供自動化建置工具
2. 執行環境規格
(1) GitLab
A. 硬體 CPU:2 core / RAM 2GB / HD:5GB
B. 作業系統 CentOS 6,7 / Ubuntu 14, 16
(2) Jenkins
A. 硬體:CPU:2 core / RAM:2GB / HD:5GB
B. 作業系統:Linux / Windows / Mac OS X
(3) SonarQube
A. 硬體 CPU:2 core / RAM:2GB / HD:5GB
B. 作業系統:Linux / Windows / Mac OS X
C. JVM : Oracle JRE 8 or OpenJDK 8
D. 資料庫 MS SQL / MySQL / Oracle /PostgreSQL
(4) Jmeter
A. 硬體 CPU:2 core / RAM:8 GB / HD:20GB
B. 作業系統:Linux / Windows / Mac OS X
C. JVM : Oracle JRE 8 or OpenJDK 8
(5) Selenium
A. 硬體 CPU:2 core / RAM:4 GB / HD:20GB
B. 作業系統 Windows/ Apple OS X/ Linux
C. 瀏覽器 : Firefox / IE / Safari / Opera / Chrome