首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义代理镜像配置Kubernetes插件Jenkins

使用自定义代理镜像配置Kubernetes插件Jenkins
EN

Stack Overflow用户
提问于 2020-03-11 01:21:58
回答 1查看 515关注 0票数 1

我试图在Jenkins中使用自定义图像配置kubernetes插件,但是当我启动管道时,我得到了这个错误:

代码语言:javascript
复制
Started by user unknown or anonymous
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] podTemplate
[Pipeline] {
[Pipeline] node
Still waiting to schedule task
‘testjenkinsslaveagent-54-blfkj-1zp9j-lbn6q’ is offline

其中testjenkinsslaveagent是我的管道名称。Kubernetes插件配置如下:

流水线si定义如下:

代码语言:javascript
复制
podTemplate(containers: [
        containerTemplate(name: 'jnlp', image: 'registry.gitlab.com/xxxx/dockerimages:latest', ttyEnabled: true, command: '/bin/sh'),
],volumes: [hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')]) {

    node(POD_LABEL) {
        stage('Run') {
            container('my-slave') {
                sh 'echo hello world'
                sh 'ifconfig'
                sh 'sudo docker images ls'
            }
        }

    }
}

Jenkins的版本是2.176.3,所有插件都更新了。

由于我需要在代理中使用docker,所以我修改了一个现有的Dockerimage,如下所示(它在本地工作):

代码语言:javascript
复制
ARG version=4.0.1-1
FROM jenkins/slave:$version

ARG version
MAINTAINER Oleg Nenashev <o.v.nenashev@gmail.com>
LABEL Description="This is a base image, which allows connecting Jenkins agents via JNLP protocols" Vendor="Jenkins project" Version="$version"

ARG user=jenkins

USER root

COPY jenkins-agent /usr/local/bin/jenkins-agent
RUN chmod +x /usr/local/bin/jenkins-agent &&\
    ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave


# Install docker routine
RUN echo 'Installing docker routine ...'
RUN apt-get update && \
    apt-get -y install apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common && \
    curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
    add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
    $(lsb_release -cs) \
    stable" && \
    apt-get update && \
    apt-get -y install docker-ce
RUN usermod -a -G docker jenkins
RUN mkdir -p /home/jenkins/.ssh && \
    chown -R 1000:1000 /home/jenkins/.ssh

USER ${user}

ENTRYPOINT ["jenkins-agent"]

问题是我的自定义代理docker镜像被忽略了,Kubertete的插件默认镜像是实例化的。有没有关于如何正确设置这些的想法或任何工作指南?谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-04-09 14:14:33

您需要更新jenkinsfile中的从属文件: node( POD_LABEL ) {这应该更新为您的pod标签名称为node(jnlp-POD_LABEL){

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60622816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档