Ana içeriğe geç

CI Meta Verileri

TestFly, iyi bilinen CI/CD ortamlarını algılar ve pipeline çalıştırması hakkında yapılandırılmış meta verileri yakalar. Bu meta veriler şuraya gömülür:

  • target/testfly-metrics.json — üst düzey ci nesnesi
  • target/testfly-report.html — pipeline'a geri bağlantı içeren Derleme Meta Verileri kartı
  • target/surefire-reports/TEST-TestFly.xml — JUnit XML'i ayrıştıran araçlar için <properties> bloğu

Çoğu durumda manuel yapılandırma gerekmez.


Desteklenen sağlayıcılar​

SağlayıcıAlgılama değişkeni
GitHub ActionsGITHUB_ACTIONS
JenkinsJENKINS_URL
GitLab CIGITLAB_CI
CircleCICIRCLECI
Travis CITRAVIS
TeamCityTEAMCITY_VERSION
Bitbucket PipelinesBITBUCKET_BUILD_NUMBER
Genel CICI

Yakalanan alanlar​

AlanÖrnekNotlar
providerGitHub Actionsİnsan tarafından okunabilir CI adı
buildNumber42Görüntülenecek derleme numarası
buildId123456789Dahili çalıştırma/pipeline kimliği
branchfeature/ci-metaUygun olduğunda pull request dalı tercih edilir
commitShaabc123defCI ortamındaki tam SHA, sağlanırsa
commitMessageAdd CI metadataYalnızca GitLab/Bitbucket'te kullanılabilir
buildUrlhttps://github.com/.../actions/runs/123Pipeline'a geri bağlantı
jobNameunit-testsCI iş/aşama adı
pullRequest7PR/MR tanımlayıcısı, mevcutsa
repositorytestfly/testflyDepo kısa adı veya URL'si
actorhagulDerlemeyi tetikleyen kullanıcı
agentNameagent-01Çalıştırıcı/aracı adı
environmentstagingDağıtım ortamı adı, ayarlanmışsa

Bir sağlayıcı için kullanılamayan alanlar, boş gösterilmek yerine atlanır.


Yapılandırma​

Bir CI ortamı algılandığında yakalama otomatik olarak etkinleştirilir. Açıkça devre dışı bırakmak için:

testfly.yml
ci:
captureMetadata: false

CI dışında bile zorla açmak için:

testfly.yml
ci:
captureMetadata: true

Sağlayıcı değişken eşlemesi​

GitHub Actions​

AlanOrtam değişkeni
SağlayıcıGITHUB_ACTIONS
Derleme NumarasıGITHUB_RUN_NUMBER
Derleme KimliğiGITHUB_RUN_ID
DalGITHUB_HEAD_REF (PR) veya GITHUB_REF_NAME
Commit SHAGITHUB_SHA
DepoGITHUB_REPOSITORY
EylemciGITHUB_ACTOR
İş AdıGITHUB_JOB
Aracı AdıRUNNER_NAME
Derleme URL'siGITHUB_SERVER_URL, GITHUB_REPOSITORY, GITHUB_RUN_ID değerlerinden üretilir

Jenkins​

AlanOrtam değişkeni
SağlayıcıJENKINS_URL
Derleme NumarasıBUILD_NUMBER
Derleme KimliğiBUILD_ID
DalGIT_BRANCH (refs/heads/ önekini kaldırır)
Commit SHAGIT_COMMIT
Derleme URL'siBUILD_URL
İş AdıJOB_NAME
Pull RequestCHANGE_ID
Aracı AdıNODE_NAME

GitLab CI​

AlanOrtam değişkeni
SağlayıcıGITLAB_CI
Derleme NumarasıCI_PIPELINE_IID
Derleme KimliğiCI_PIPELINE_ID
DalCI_COMMIT_REF_NAME
Commit SHACI_COMMIT_SHA
Commit MesajıCI_COMMIT_MESSAGE
Derleme URL'siCI_PIPELINE_URL
İş AdıCI_JOB_NAME
Pull RequestCI_MERGE_REQUEST_IID
DepoCI_PROJECT_PATH
EylemciGITLAB_USER_LOGIN
Aracı AdıCI_RUNNER_DESCRIPTION
OrtamCI_ENVIRONMENT_NAME

CircleCI​

AlanOrtam değişkeni
SağlayıcıCIRCLECI
Derleme NumarasıCIRCLE_BUILD_NUM
Derleme KimliğiCIRCLE_WORKFLOW_ID
DalCIRCLE_BRANCH
Commit SHACIRCLE_SHA1
Derleme URL'siCIRCLE_BUILD_URL
İş AdıCIRCLE_JOB
Pull RequestCIRCLE_PR_NUMBER
DepoCIRCLE_REPOSITORY_URL
EylemciCIRCLE_USERNAME

Travis CI​

AlanOrtam değişkeni
SağlayıcıTRAVIS
Derleme NumarasıTRAVIS_BUILD_NUMBER
Derleme KimliğiTRAVIS_BUILD_ID
DalTRAVIS_BRANCH
Commit SHATRAVIS_COMMIT
Derleme URL'siTRAVIS_BUILD_WEB_URL
İş AdıTRAVIS_JOB_NAME
Pull RequestTRAVIS_PULL_REQUEST (false → atlanır)
DepoTRAVIS_REPO_SLUG
EylemciTRAVIS_PULL_REQUEST_AUTHOR

TeamCity​

AlanOrtam değişkeni
SağlayıcıTEAMCITY_VERSION
Derleme NumarasıBUILD_NUMBER
Derleme KimliğiTEAMCITY_BUILD_ID
DalBRANCH_NAME
Commit SHABUILD_VCS_NUMBER
Derleme URL'siBUILD_URL
İş AdıTEAMCITY_BUILDCONF_NAME
Aracı AdıAGENT_NAME

Bitbucket Pipelines​

AlanOrtam değişkeni
SağlayıcıBITBUCKET_BUILD_NUMBER
Derleme NumarasıBITBUCKET_BUILD_NUMBER
Derleme KimliğiBITBUCKET_PIPELINE_UUID
DalBITBUCKET_BRANCH
Commit SHABITBUCKET_COMMIT
Commit MesajıBITBUCKET_COMMIT_MESSAGE
Derleme URL'siBITBUCKET_BUILD_URL
İş AdıBITBUCKET_STEP_UUID
Pull RequestBITBUCKET_PR_ID
DepoBITBUCKET_REPO_FULL_NAME

Meta verileri aşağı akışta tüketme​

Metrics JSON​

target/testfly-metrics.json
{
"ci": {
"provider": "GitHub Actions",
"buildNumber": "42",
"branch": "main",
"commitSha": "abc123",
"buildUrl": "https://github.com/hakanngul/testfly/actions/runs/123"
}
}

JUnit XML​

target/surefire-reports/TEST-TestFly.xml
<testsuite ...>
<properties>
<property name="provider" value="GitHub Actions"/>
<property name="buildNumber" value="42"/>
...
</properties>
...
</testsuite>

Bu özellikler Jenkins, GitHub Actions test raporlayıcıları, SonarQube ve daha birçok CI aracı tarafından alınır.