使用jenkins

时间:2016-02-03 15:44:31

标签: jenkins docker jenkins-docker

我想使用jenkins进行后续步骤:

1- docker pull <image_name>
2- docker run -i -t <command>

我已经在jenkins上安装了docker插件,但这是不可能的? docker plugin page中的文件很差。

2 个答案:

答案 0 :(得分:1)

这些步骤由插件以编程方式执行。 或者,您可以在build-&gt; execute shell:

中安装docker,将脚本执行到jenkins slave中
#!/bin/bash
export image=`docker images httpd|wc -l`
echo image $image
if [ "$image" -lt "1" ];
then
    docker pull httpd 
fi
export container=`docker ps -all -f="name=webcontainer"|wc -l`
echo container $container
if [ "$container" -gt "1" ];
then
    echo "Deleting webcontainer"
    docker rm -f webcontainer 
fi
BUILD_ID=dontKillMe docker run -d -t -p8888:80 --name webcontainer httpd

您可以使用以下命令与创建的docker进行交互:

`docker exec -it  webcontainer /bin/bash`

答案 1 :(得分:1)

这些天(2017年中,OP问题后一年多),您将使用Jenkins pipeline的内部指令在docker镜像中拉取并运行一些命令。

例如(Using Jenkins Pipelines with Docker),使用Docker Pipeline plugin

docker.image('ruby:2.3.1').inside {

    stage("Install Bundler") {
      sh "gem install bundler --no-rdoc --no-ri"
    }

    stage("Use Bundler to install dependencies") {
      sh "bundle install"
    }
}