1 Star 0 Fork 0

李康 / beats

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Jenkinsfile 24.36 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787
#!/usr/bin/env groovy
@Library('apm@current') _
pipeline {
agent { label 'ubuntu && immutable' }
environment {
BASE_DIR = 'src/github.com/elastic/beats'
GOX_FLAGS = "-arch amd64"
DOCKER_COMPOSE_VERSION = "1.21.0"
}
options {
timeout(time: 2, unit: 'HOURS')
buildDiscarder(logRotator(numToKeepStr: '20', artifactNumToKeepStr: '20', daysToKeepStr: '30'))
timestamps()
ansiColor('xterm')
disableResume()
durabilityHint('PERFORMANCE_OPTIMIZED')
disableConcurrentBuilds()
// checkoutToSubdirectory "${env.BASE_DIR}"
}
triggers {
issueCommentTrigger('(?i).*(?:jenkins\\W+)?run\\W+(?:the\\W+)?tests(?:\\W+please)?.*')
}
parameters {
booleanParam(name: 'runAllStages', defaultValue: false, description: 'Allow to run all stages.')
booleanParam(name: 'windowsTest', defaultValue: true, description: 'Allow Windows stages.')
booleanParam(name: 'debug', defaultValue: false, description: 'Allow debug logging for Jenkins steps')
}
stages {
/**
Checkout the code and stash it, to use it on other stages.
*/
stage('Checkout') {
options { skipDefaultCheckout() }
steps {
deleteDir()
gitCheckout(basedir: "${BASE_DIR}")
dir("${BASE_DIR}"){
loadConfigEnvVars()
}
whenTrue(${params.debug}){
dumpFilteredEnvironment()
}
}
stash allowEmpty: true, name: 'source', useDefaultExcludes: false
}
}
stage('Lint'){
options { skipDefaultCheckout() }
steps {
makeTarget("Lint", "check")
}
}
stage('Build and Test'){
failFast false
parallel {
stage('Filebeat oss'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_FILEBEAT != "false"
}
}
steps {
makeTarget("Filebeat oss Linux", "-C filebeat testsuite")
}
}
stage('Filebeat x-pack'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_FILEBEAT_XPACK != "false"
}
}
steps {
makeTarget("Filebeat x-pack Linux", "-C x-pack/filebeat testsuite")
}
}
stage('Filebeat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_FILEBEAT != "false"
}
}
steps {
makeTarget("Filebeat oss Mac OS X", "TEST_ENVIRONMENT=0 -C filebeat testsuite")
}
}
stage('Filebeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_FILEBEAT != "false" && params.windowsTest
}
}
steps {
mageTargetWin("Filebeat oss Windows Unit test", "-d filebeat goUnitTest")
//mageTargetWin("Filebeat oss Windows Integration test", "-d filebeat goIntegTest")
}
}
stage('Heartbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_HEARTBEAT != "false"
}
}
stages {
stage('Heartbeat oss'){
steps {
makeTarget("Heartbeat oss Linux", "-C heartbeat testsuite")
}
}
stage('Heartbeat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
steps {
makeTarget("Heartbeat oss Mac OS X", "TEST_ENVIRONMENT=0 -C heartbeat testsuite")
}
}
stage('Heartbeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return params.windowsTest
}
}
steps {
mageTargetWin("Heartbeat oss Windows Unit test", "-d heartbeat goTestUnit")
}
}
}
}
stage('Auditbeat oss'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_AUDITBEAT != "false"
}
}
stages {
stage('Auditbeat Linux'){
steps {
makeTarget("Auditbeat oss Linux", "-C auditbeat testsuite")
}
}
stage('Auditbeat crosscompile'){
steps {
makeTarget("Auditbeat oss crosscompile", "-C auditbeat crosscompile")
}
}
stage('Auditbeat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
steps {
makeTarget("Auditbeat oss Mac OS X", "TEST_ENVIRONMENT=0 -C auditbeat testsuite")
}
}
stage('Auditbeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return params.windowsTest
}
}
steps {
mageTargetWin("Auditbeat Windows Unit test", "-d auditbeat goUnitTest")
//mageTargetWin("Auditbeat Windows Integration test", "-d auditbeat goIntegTest")
}
}
}
}
stage('Auditbeat x-pack'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_AUDITBEAT_XPACK != "false"
}
}
steps {
makeTarget("Auditbeat x-pack Linux", "-C x-pack/auditbeat testsuite")
}
}
stage('Libbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_LIBBEAT != "false"
}
}
stages {
stage('Libbeat oss'){
steps {
makeTarget("Libbeat oss Linux", "-C libbeat testsuite")
}
}
stage('Libbeat crosscompile'){
steps {
makeTarget("Libbeat oss crosscompile", "-C libbeat crosscompile")
}
}
stage('Libbeat stress-tests'){
steps {
makeTarget("Libbeat stress-tests", "STRESS_TEST_OPTIONS='-timeout=20m -race -v -parallel 1' -C libbeat stress-tests")
}
}
}
}
stage('Libbeat x-pack'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_LIBBEAT_XPACK != "false"
}
}
steps {
makeTarget("Libbeat x-pack Linux", "-C x-pack/libbeat testsuite")
}
}
stage('Metricbeat Unit tests'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false"
}
}
steps {
makeTarget("Metricbeat Unit tests", "-C metricbeat unit-tests coverage-report")
}
}
stage('Metricbeat Integration tests'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false"
}
}
steps {
makeTarget("Metricbeat Integration tests", "-C metricbeat integration-tests-environment coverage-report")
}
}
stage('Metricbeat System tests'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false"
}
}
steps {
makeTarget("Metricbeat System tests", "-C metricbeat update system-tests-environment coverage-report")
}
}
stage('Metricbeat x-pack'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT_XPACK != "false"
}
}
steps {
makeTarget("Metricbeat x-pack Linux", "-C x-pack/metricbeat testsuite")
}
}
stage('Metricbeat crosscompile'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false"
}
}
steps {
makeTarget("Metricbeat oss crosscompile", "-C metricbeat crosscompile")
}
}
stage('Metricbeat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false"
}
}
steps {
makeTarget("Metricbeat oss Mac OS X", "TEST_ENVIRONMENT=0 -C metricbeat testsuite")
}
}
stage('Metricbeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_METRICBEAT != "false" && params.windowsTest
}
}
steps {
mageTargetWin("Metricbeat Windows Unit test", "-d metricbeat goUnitTest")
//mageTargetWin("Metricbeat Windows Integration test", "-d metricbeat goIntegTest")
}
}
stage('Packetbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_PACKETBEAT != "false"
}
}
stages {
stage('Packetbeat oss'){
steps {
makeTarget("Packetbeat oss Linux", "-C packetbeat testsuite")
}
}
}
}
stage('dockerlogbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_DOCKERLOGBEAT_XPACK != "false"
}
}
stages {
stage('Dockerlogbeat'){
steps {
makeTarget("Elastic Log Plugin unit tests", "-C x-pack/dockerlogbeat testsuite")
}
}
}
}
stage('Winlogbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_WINLOGBEAT != "false"
}
}
stages {
stage('Winlogbeat oss'){
steps {
makeTarget("Winlogbeat oss crosscompile", "-C winlogbeat crosscompile")
}
}
stage('Winlogbeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return params.windowsTest
}
}
steps {
mageTargetWin("Winlogbeat Windows Unit test", "-d winlogbeat goUnitTest")
}
}
}
}
stage('Winlogbeat Windows x-pack'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return params.windowsTest && env.BUILD_WINLOGBEAT_XPACK != "false"
}
}
steps {
mageTargetWin("Winlogbeat Windows Unit test", "-d x-pack/winlogbeat update:fields goUnitTest")
}
}
stage('Functionbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_FUNCTIONBEAT_XPACK != "false"
}
}
stages {
stage('Functionbeat x-pack'){
steps {
makeTarget("Functionbeat x-pack Linux", "-C x-pack/functionbeat testsuite")
}
}
stage('Functionbeat Mac OS X x-pack'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
steps {
makeTarget("Functionbeat x-pack Mac OS X", "TEST_ENVIRONMENT=0 -C x-pack/functionbeat testsuite")
}
}
stage('Functionbeat Windows'){
agent { label 'windows-immutable && windows-2019' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return params.windowsTest
}
}
steps {
mageTargetWin("Functionbeat Windows Unit test", "-d x-pack/functionbeat goUnitTest")
}
}
}
}
stage('Journalbeat'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_JOURNALBEAT != "false"
}
}
stages {
stage('Journalbeat oss'){
steps {
makeTarget("Journalbeat Linux", "-C journalbeat testsuite")
}
}
}
}
stage('Generators'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_GENERATOR != "false"
}
}
stages {
stage('Generators Metricbeat Linux'){
steps {
makeTarget("Generators Metricbeat Linux", "-C generator/_templates/metricbeat test")
makeTarget("Generators Metricbeat Linux", "-C generator/_templates/metricbeat test-package")
}
}
stage('Generators Beat Linux'){
steps {
makeTarget("Generators Beat Linux", "-C generator/_templates/beat test")
makeTarget("Generators Beat Linux", "-C generator/_templates/beat test-package")
}
}
stage('Generators Metricbeat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
steps {
makeTarget("Generators Metricbeat Mac OS X", "-C generator/_templates/metricbeat test")
}
}
stage('Generators Beat Mac OS X'){
agent { label 'macosx' }
options { skipDefaultCheckout() }
steps {
makeTarget("Generators Beat Mac OS X", "-C generator/_templates/beat test")
}
}
}
}
stage('Kubernetes'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression {
return env.BUILD_KUBERNETES != "false"
}
}
steps {
k8sTest(["v1.16.2","v1.15.3","v1.14.6","v1.13.10","v1.12.10","v1.11.10"])
}
}
stage('Docs'){
agent { label 'ubuntu && immutable' }
options { skipDefaultCheckout() }
when {
beforeAgent true
expression { return env.BUILD_DOCS != "false" }
}
steps {
makeTarget("Docs", "docs")
}
}
}
}
}
}
def makeTarget(context, target, clean = true){
whenTrue(${params.debug}){
dumpFilteredEnvironment()
dumpMage()
}
withGithubNotify(context: "${context}") {
withBeatsEnv(){
sh(label: "Make ${target}", script: """
eval "\$(gvm use ${GO_VERSION} --format=bash)"
make ${target}
""")
if(clean) {
sh(script: 'script/fix_permissions.sh ${HOME}')
}
}
}
}
def mageTargetWin(context, target){
whenTrue(${params.debug}){
dumpFilteredEnvironment()
withBeatsEnvWin(){
dumpMage()
}
}
withGithubNotify(context: "${context}") {
withBeatsEnvWin(){
bat(label: "Mage ${target}", script: """
set
mage ${target}
""")
}
}
}
def withBeatsEnv(Closure body){
withEnv([
"HOME=${env.WORKSPACE}",
"GOPATH=${env.WORKSPACE}",
"PATH+GO=${env.WORKSPACE}/bin:${env.PATH}",
"MAGEFILE_CACHE=${WORKSPACE}\\.magefile",
"TEST_COVERAGE=true",
"RACE_DETECTOR=true",
"PYTHON_ENV=${WORKSPACE}/python-env",
]){
deleteDir()
unstash 'source'
dir("${BASE_DIR}"){
sh(label: "Install Go ${GO_VERSION}", script: ".ci/scripts/install-go.sh")
sh(label: "Install docker-compose ${DOCKER_COMPOSE_VERSION}", script: ".ci/scripts/install-docker-compose.sh")
try {
body()
} finally {
reportCoverage()
}
}
}
}
def withBeatsEnvWin(Closure body){
def goRoot = "${env.USERPROFILE}\\.gvm\\versions\\go${GO_VERSION}.windows.amd64"
withEnv([
"HOME=${WORKSPACE}",
"GOPATH=${WORKSPACE}",
"PATH+GO=${WORKSPACE}\\bin;${goRoot}\\bin;C:\\ProgramData\\chocolatey\\bin",
"MAGEFILE_CACHE=${WORKSPACE}\\.magefile",
"GOROOT=${goRoot}",
"TEST_COVERAGE=true",
"RACE_DETECTOR=true",
]){
deleteDir()
unstash 'source'
dir("${BASE_DIR}"){
bat(label: "Install Go ${GO_VERSION}", script: ".ci/scripts/install-tools.bat")
try {
body()
} finally {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
junit(allowEmptyResults: true, keepLongStdio: true, testResults: "**\\build\\TEST*.xml")
archiveArtifacts(allowEmptyArchive: true, artifacts: '**\\build\\TEST*.out')
}
}
}
}
}
def dumpMage(){
echo "### MAGE DUMP ###"
sh(label: "Dump mage variables", script: "mage dumpVariables")
echo "### END MAGE DUMP ###"
}
def dumpFilteredEnvironment(){
echo "### ENV DUMP ###"
echo "BUILD_DIR: ${env.BUILD_DIR}"
echo "COVERAGE_DIR: ${env.COVERAGE_DIR}"
echo "BEATS: ${env.BEATS}"
echo "PROJECTS: ${env.PROJECTS}"
echo "PROJECTS_ENV: ${env.PROJECTS_ENV}"
echo "PYTHON_ENV: ${env.PYTHON_ENV}"
echo "PYTHON_EXE: ${env.PYTHON_EXE}"
echo "PYTHON_ENV_EXE: ${env.PYTHON_ENV_EXE}"
echo "VENV_PARAMS: ${env.VENV_PARAMS}"
echo "FIND: ${env.FIND}"
echo "GOLINT: ${env.GOLINT}"
echo "GOLINT_REPO: ${env.GOLINT_REPO}"
echo "REVIEWDOG: ${env.REVIEWDOG}"
echo "REVIEWDOG_OPTIONS: ${env.REVIEWDOG_OPTIONS}"
echo "REVIEWDOG_REPO: ${env.REVIEWDOG_REPO}"
echo "XPACK_SUFFIX: ${env.XPACK_SUFFIX}"
echo "PKG_BUILD_DIR: ${env.PKG_BUILD_DIR}"
echo "PKG_UPLOAD_DIR: ${env.PKG_UPLOAD_DIR}"
echo "COVERAGE_TOOL: ${env.COVERAGE_TOOL}"
echo "COVERAGE_TOOL_REPO: ${env.COVERAGE_TOOL_REPO}"
echo "TESTIFY_TOOL_REPO: ${env.TESTIFY_TOOL_REPO}"
echo "NOW: ${env.NOW}"
echo "GOBUILD_FLAGS: ${env.GOBUILD_FLAGS}"
echo "GOIMPORTS: ${env.GOIMPORTS}"
echo "GOIMPORTS_REPO: ${env.GOIMPORTS_REPO}"
echo "GOIMPORTS_LOCAL_PREFIX: ${env.GOIMPORTS_LOCAL_PREFIX}"
echo "PROCESSES: ${env.PROCESSES}"
echo "TIMEOUT: ${env.TIMEOUT}"
echo "PYTHON_TEST_FILES: ${env.PYTHON_TEST_FILES}"
echo "NOSETESTS_OPTIONS: ${env.NOSETESTS_OPTIONS}"
echo "TEST_ENVIRONMENT: ${env.TEST_ENVIRONMENT}"
echo "SYSTEM_TESTS: ${env.SYSTEM_TESTS}"
echo "STRESS_TESTS: ${env.STRESS_TESTS}"
echo "STRESS_TEST_OPTIONS: ${env.STRESS_TEST_OPTIONS}"
echo "GOX_OS: ${env.GOX_OS}"
echo "GOX_OSARCH: ${env.GOX_OSARCH}"
echo "GOX_FLAGS: ${env.GOX_FLAGS}"
echo "TESTING_ENVIRONMENT: ${env.TESTING_ENVIRONMENT}"
echo "BEAT_VERSION: ${env.BEAT_VERSION}"
echo "COMMIT_ID: ${env.COMMIT_ID}"
echo "DOCKER_COMPOSE_PROJECT_NAME: ${env.DOCKER_COMPOSE_PROJECT_NAME}"
echo "DOCKER_COMPOSE: ${env.DOCKER_COMPOSE}"
echo "DOCKER_CACHE: ${env.DOCKER_CACHE}"
echo "GOPACKAGES_COMMA_SEP: ${env.GOPACKAGES_COMMA_SEP}"
echo "PIP_INSTALL_PARAMS: ${env.PIP_INSTALL_PARAMS}"
echo "### END ENV DUMP ###"
}
def k8sTest(versions){
versions.each{ v ->
stage("k8s ${v}"){
withEnv(["K8S_VERSION=${v}"]){
withGithubNotify(context: "K8s ${v}") {
withBeatsEnv(){
sh(label: "Install k8s", script: """
eval "\$(gvm use ${GO_VERSION} --format=bash)"
.ci/scripts/kind-setup.sh
""")
sh(label: "Kubernetes Kind",script: "make KUBECONFIG=\"\$(kind get kubeconfig-path)\" -C deploy/kubernetes test")
sh(label: 'Delete cluster', script: 'kind delete cluster')
}
}
}
}
}
}
def reportCoverage(){
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
junit(allowEmptyResults: true, keepLongStdio: true, testResults: "**/TEST-*.xml")
archiveArtifacts(allowEmptyArchive: true, artifacts: '**/TEST-*.out')
retry(2){
sh(label: 'Report to Codecov', script: '''
curl -sSLo codecov https://codecov.io/bash
for i in auditbeat filebeat heartbeat libbeat metricbeat packetbeat winlogbeat journalbeat
do
FILE="${i}/build/coverage/full.cov"
if [ -f "${FILE}" ]; then
bash codecov -f "${FILE}"
fi
done
''')
}
}
}
def isChanged(patterns){
return (
params.runAllStages
|| isGitRegionMatch(patterns: patterns, comparator: 'regexp')
)
}
def loadConfigEnvVars(){
env.BUILD_AUDITBEAT = isChanged(["^auditbeat/.*"])
env.BUILD_AUDITBEAT_XPACK = isChanged([
"^auditbeat/.*",
"^x-pack/auditbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_DOCKERLOGBEAT_XPACK = isChanged([
"^x-pack/dockerlogbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_DOCS = isChanged(
patterns: ["^docs/.*"],
comparator: 'regexp'
)
env.BUILD_FILEBEAT = isChanged(["^filebeat/.*"])
env.BUILD_FILEBEAT_XPACK = isChanged([
"^filebeat/.*",
"^x-pack/filebeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_FUNCTIONBEAT_XPACK = isChanged([
"^x-pack/functionbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_GENERATOR = isChanged(["^generator/.*"])
env.BUILD_HEARTBEAT = isChanged(["^heartbeat/.*"])
env.BUILD_HEARTBEAT_XPACK = isChanged([
"^heartbeat/.*",
"^x-pack/heartbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_JOURNALBEAT = isChanged(["^journalbeat/.*"])
env.BUILD_JOURNALBEAT_XPACK = isChanged([
"^journalbeat/.*",
"^x-pack/journalbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_KUBERNETES = isChanged(["^deploy/kubernetes/*"])
env.BUILD_LIBBEAT = isChanged(
patterns: ["^libbeat/.*"],
comparator: 'regexp'
)
env.BUILD_LIBBEAT_XPACK = isChanged([
"^libbeat/.*",
"^x-pack/libbeat/.*",
])
env.BUILD_METRICBEAT = isChanged(["^metricbeat/.*"])
env.BUILD_METRICBEAT_XPACK = isChanged([
"^metricbeat/.*",
"^x-pack/libbeat/.*",
"^x-pack/metricbeat/.*",
])
env.BUILD_PACKETBEAT = isChanged(["^packetbeat/.*"])
env.BUILD_PACKETBEAT_XPACK = isChanged([
"^packetbeat/.*",
"^x-pack/libbeat/.*",
"^x-pack/packetbeat/.*",
])
env.BUILD_WINLOGBEAT = isChanged(["^winlogbeat/.*"])
env.BUILD_WINLOGBEAT_XPACK = isChanged([
"^winlogbeat/.*",
"^x-pack/libbeat/.*",
"^x-pack/winlogbeat/.*",
])
env.GO_VERSION = readFile(".go-version").trim()
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zj_likang/beats.git
git@gitee.com:zj_likang/beats.git
zj_likang
beats
beats
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891