首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

GitHub 整合 Travis CI 自動化測試完整教學(以 Perl 專案為例)

     編輯:PHP 相關知識

Travis CI 是經典的雲端持續整合服務,每次 git push 即自動在乾淨虛擬機跑測試。本文以 Perl 專案為例,示範 .travis.yml 設定、GitHub 綁定、測試報告查看與程式碼覆蓋率徽章顯示全流程。

核心配置 .travis.yml 詳細解析

language: perl

# 測試多版本 Perl
perl:
  - "5.38"
  - "5.36"
  - "5.34"
  - "5.32"
  - "5.30"

# 環境變數:並行測試、啟用額外測試模組
env:
  - HARNESS_OPTIONS=j9 TEST_POD=1 TEST_EV=1 TEST_IPV6=1 TEST_SOCKS=1 TEST_TLS=1

# 安裝測試相依模組
install:
  - cpanm -n Test::Pod Test::Pod::Coverage EV IO::Socket::IP IO::Socket::Socks IO::Socket::SSL
  - cpanm -n --installdeps .

# 關閉郵件通知(改用 Webhook/Slack)
notifications:
  email: false

關鍵指令說明

  • language: perl:啟用 Perl 建置環境(預載 perlbrew、cpanm)。
  • perl: 陣列指定多版本,Travis 會建立矩陣建置並行跑。
  • HARNESS_OPTIONS=j9:prove 並行 9 條職程大幅縮短測試時間。
  • cpanm --installdeps .:讀取專案 Makefile.PL/cpanfile 自動裝相依。

GitHub + Travis CI 綁定步驟

  1. 登入 travis-ci.org(開源專案)或 travis-ci.com(私有倉庫)。
  2. 用 GitHub 授權,同步倉庫列表。
  3. 開啟目標倉庫的開關(Settings → Activate)。
  4. 確認專案根目錄已有 .travis.yml,推送任意 commit 即觸發首次建置。

查看測試結果與除錯

  • 綠色 = 通過,紅色 = 失敗。點擊紅色建置可見完整 log(編譯、測試、錯誤堆疊)。
  • 本地重現:docker run -it --rm -v $(pwd):/app -w /app perl:5.38 bash -c "cpanm --installdeps . && prove -j9 -l t/"

程式碼覆蓋率 + Coveralls + 徽章

# .travis.yml 追加
before_install:
  - cpanm Devel::Cover::Report::Coveralls
script:
  - perl Makefile.PL && cover -test -report coveralls
  1. 至 Coveralls 授權 GitHub、開啟倉庫。
  2. Travis 建置成功後自動推送覆蓋率資料。
  3. 在 README.md 加入徽章:
[![Coveralls](https://coveralls.io/repos/github/username/repo/badge.svg)](https://coveralls.io/github/username/repo)

遷移提醒:Travis CI 免費額度政策變更

自 2020 年起,Travis CI 免費額度大幅縮減(私有倉庫需付費、公共倉庫每月 10,000 credits)。新專案建議評估:

  • GitHub Actions:原生整合、免費額度大、YAML 語法相似、生態最豐富。
  • GitLab CI/CD:內建 Container Registry、Auto DevOps。
  • CircleCI、Azure Pipelines 等。

現有 Perl 專案若已穩定跑在 Travis,可維持現狀;新專案優先選 GitHub Actions。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved