Jenkins常见问题

2020-07-27 08:47

No GitLab connection configured

找不到GitLab的连接配置信息,Jenkins和GitLab是通过api通信的,所以要在Jenkins里配置连接GitLab的信息。

步骤一:在Jenkins填写GitLab仓库的地址,可以添加多个地址,每个连接地址都有一个唯一标识的名字,如下图里的“test”

Jenkins Home → Manage Jenkins → System Configuration → Configure System → GitLab

配置GitLab

步骤二:在Jenkinsfile里加上options块,并填入步骤一中的连接名称“test”。

options {
    gitLabConnection('test')
}

如果不配置或是配置不正确,在GitLab的CI/CD选项里看不到Pipeline流水线任务

Pipeline流水线

Pipeline状态不更新

Pipeline流水线

需要在Jenkinsfile里增加状态更新代码

post {
    failure {
        updateGitlabCommitStatus name: 'getcode', state: 'failed'
        updateGitlabCommitStatus name: 'package', state: 'failed'
        updateGitlabCommitStatus name: 'deploy', state: 'failed'
    }
    success {
        updateGitlabCommitStatus name: 'getcode', state: 'success'
        updateGitlabCommitStatus name: 'package', state: 'success'
        updateGitlabCommitStatus name: 'deploy', state: 'success'
    }
}

HTTP ERROR 403 anonymous is missing the Job/Build permission

匿名用户没有权限,需要在Jenkins里配置token。

Jenkins Home → 选择Item项目,如 "test"  → Configure → Build Triggers → Advanced… → Secret token → Generate