docker安装jenkins-jnlp-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
可以挂载以下目录,当然也可以不挂载。那就不用保存数据。
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,测试流水线,运行正常,打包正常。
目录 返回
首页