首页 > 解决方案 > Jenkinsfile 不被 build 调用

问题描述

我让 Jenkins 与 GitLab 连接,两者都由 Helm Chart 安装:

helm install stable/jenkins \
  -n jenkins \
  --namespace jenkins \
  --set master.serviceType=ClusterIP \
  --set master.ingress.enabled=true \
  --set master.ingress.hostName=jenkins.example.com \
  --set 'master.ingress.tls[0].secretName=jenkins.tls-secret' \
  --set 'master.ingress.tls[0].hosts={jenkins.example.com}' \
  --set agent.image=brunowego/jnlp-slave-s2i \
  --set agent.tag=3.29-1 \
  --set 'agent.volumes[0].type=HostPath' \
  --set 'agent.volumes[0].hostPath=/var/run/docker.sock' \
  --set 'agent.volumes[0].mountPath=/var/run/docker.sock'

helm install gitlab/gitlab \
  -n gitlab-ce \
  --namespace gitlab \
  --set global.edition=ce \
  --set global.hosts.domain=example.com \
  --set global.hosts.registry.name=registry.gitlab.example.com \
  --set global.hosts.minio.name=minio.gitlab.example.com \
  --set global.ingress.configureCertmanager=false \
  --set global.ingress.class=nginx \
  --set global.ingress.tls.secretName=gitlab.tls-secret \
  --set certmanager.install=false \
  --set nginx-ingress.enabled=false \
  --set gitlab-runner.install=false

当我推送到 git 时,构建过程已启动,但未Jenkinsfile使用该文件:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
            }
        }

        ...
    }
}

我已经安装了 和 之类的gitlab-plugin:1.5.12插件kubernetes-cd:2.1.2

也许需要明确的需要Jenkinsfile在配置中使用?

标签: jenkinsgitlab

解决方案


考虑到您有关于从 Jenkins迁移的文档,看到没有gitlab-ci.yml指令文件调用Jenkinsfile 也就不足为奇了。

为此,您的 gitlab-ci 文件应包含 Jenkins 服务器的 curl,如此处

...
script:
    - jenkins_response=$(curl -s -I -X POST "http://user:token@localhost:8080/job/qTest/buildWithParameters?param1=val1")

推荐阅读