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.

  • luisviveropena
    luisviveropena Posts: 1,020

    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.

  • gouravshah
    gouravshah Posts: 115

    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.

Categories

Upcoming Training