Welcome to the Linux Foundation Forum!

USING DOCKER WITH JENKINS PIPELINES

paccha5065
paccha5065 Posts: 11
edited December 2022 in LFS261 Class Forum

As per Chapter 8 in this course, we need to run containers from Jenkins using Pipeline as code.
I tried to create a pipeline job with the below code, mentioned in the course:

pipeline {
agent {
docker { image 'node:7-alpine' }
}
stages {
stage('Smoke Test') {
steps {
sh 'node --version'
sleep 10
}
}
}
}

But while trying to build a Jenkins job, I am getting an error as
**
"WorkflowScript: 3: Invalid agent type "docker" specified. Must be one of [any, label, none] @ line 3, column 9.
docker { image 'node:7-alpine' }"**

Can someone please suggest to me if I am missing anything here?

Note: I am running Jenkins within the docker using the docker-compose file provided in the course, which was a prerequisite for this course.

Comments

  • Its working after installing Docker and Docker Pipeline plugins

  • @paccha5065 Jenkins is an extensible tool. If you do not install a required plugin, and try to use the Pipeline code, you will run into similar errors. It is great that you figured it out yourself that you were missing the Docker and Docker-Pipeline plugins.
    Pipeline is a Plugin too, which is responsible for running the Groovy Jenkinsfile code. It was a surprise to me too, because I used to think that Groovy Pipelines are executed by default on Jenkins. But this is not the case.

  • Hi @paccha5065, I'm glad that you were able to solve it!

    Yep, if you are using a code that requires plugings and they have not been installed yet, it's going to fail.

    Many regards,
    Luis.

  • For the slightly older versions of jenkins, you need to install "docker" and "docker-pipeline" as in the screenshot attached.

    For the latest version of Jenkins, it comes packaged when you install the default plugins.

  • kandouda
    kandouda Posts: 1

    I have the same problem. I installed the both docker plugins Docker and Docker pipeline. But i am getting the error: docker not found.

    Any idea what is the problem?

  • luisviveropena
    luisviveropena Posts: 1,249

    Hi @kandouda,

    Did you restart Jenkins after the plugin installation? There are some plugins that requires a restart of Jenkins, so it can work with them.

    Regards,
    Luis.

  • gouravshah
    gouravshah Posts: 139

    @kandouda please try out the following steps,

    git clone https://github.com/udbc/bootcamp.git
    cd bootcamp/jenkins 
    
    docker-compose build 
    docker-compose up -d 
    

    I my opinion this is an issue which needs a newer version of Jenkins and a slightly different way of setting it up. If you create the environment ( Jenkins) using the above code, it may fix it. Once you have tried it and confirm, we will update the lab guide accordingly.

  • ericegan
    ericegan Posts: 35

    @gouravshah thank you for your input but I just ran it with the current lab setup and it runs fine. Not sure what is going on with @kandouda . @kandouda Code in the chapters may not be complete because the chapters are for illustrative purposes. This particular code happens to work for me but keep in mind for the future. Please complete the labs. If the labs do not work for you let us know. I say this because, as noted in the chapter, if you have not setup Jenkins alongside other docker containers properly then using docker as an agent will not work. The setup occurs in the labs.

Categories

Upcoming Training