虚拟化容器,大数据,DBA,中间件,监控。

docker安装jenkins-jnlp-slave并在从节点使用docker构建项目

26 12月
作者:admin|分类:容器虚拟化
docker安装jenkins_slave节点并通过docker构建项目

 

docker安装jenkins-jnlp-slave并在从节点使用docker构建项目

 

一,环境说明。

1,jenkins-master主构建节点,系统:centos7,IP: 192.168.1.20 ,Jenkins安装到docker容器中,实现master节点会新增容器中构建项目,完成后,会自行删除构建的容器。具体方法看:docker安装jenkins使用npm容器构建Node.js+实现cicd部署-虚拟化云计算,DBA,系统安全,路由交换。 (micoder.cc)

2,Jenkins-slave从构建节点,系统:centos7,IP: 192.168.1.41 , jnlp-slave安装到docker容器中,并实现构建项目时,在从节点会新增容器中构建项目,完成后,会自行删除构建的容器。

二,从节点容器创建。

1,流程图,实现主从节点与项目工程构建环境全是docker中运行。


2,jenkins-master中配置slave从节点相关信息。

具体信息如下:

1,名称: jnlp-slave,这个可以随意填写,后面会用来。

2,远程工作目录,需要设置一个,这里填写: /var/jenkins_home。

3,标签,这里填写: slave,那么在pipeline中,添加此标签,即可实现在从节点中构建工程。



 



 

 

 

3,信息填写完成后,保存后,再到节点中查看,会提示如下信息。


 

 

 

4,根据上图中的内容,最后的两个参数是secret和slave name,在192.168.1.41中创建一个容器。

#docker 运行jenkins-slave示例,使用jnlp方式进行连接,即是agent主动连接master。

命令如下:

docker run -d -u 0 --name jnlp-slave -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
-v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/jenkins_home/.m2:/root/.m2 \
jenkinsci/jnlp-slave:latest \
-url http://192.168.1.20:8080 6002c5acc45b06c6ae65cfffdf20a76d9b1d832d7a743eecc6954a87cf4f3915 jnlp_slave


可以挂载以下目录,当然也可以不挂载。那就不用保存数据。

image.png




5,创建好容器后,到Jenkins上查看节点信息,就会看到节点已经同步数据。



 

三,创建一个简单的项目来测试流水线。

1,实现从节点,临时新增容器 node:14来构建项目。代码如下:


pipeline {

    agent {

        docker {

            image 'node:14'

            label 'slave'

            args '-v $HOME/.m2:/root/.m2'

         }

    }

    stages {

        stage('拉取代码') {

            steps {

                git 'https://gitee.com/micoder/demo.git'

                sh 'ls -al'

            }

        }


        stage('项目编译') {

            steps {

                sh 'ls'

                sh 'npm install --registry=https://registry.npm.taobao.org'

                sh 'npm run build:prod'

            }

        }

    }


}



2,测试流水线,运行正常,打包正常。

 


 

 

浏览554 评论0
返回
目录
返回
首页
Jenkins构建、推送、拉取镜像和发布应用 docker 部署jenkins 主节点子节点