传统云环境下的CI/CD操作手册(七)用slave节点实现分布式jenkins

在jenkins-slave上操作
cd /usr/local/src
tar xvf jdk-7u79-linux-x64.tar.gz
ln -sv /usr/local/src/jdk1.7.0_79 /usr/local/jdk
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
source /etc/profile && java -version
yum -y install git
ssh-keygen
把公钥放到tomcat上
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ntpdate ntp1.aliyun.com
mkdir -p /data/jenkins/jdk/bin
whereis java
ln -sv /usr/bin/java /data/jenkins/jdk/bin/

在gitlab上操作:
把公钥放到gitlab上
依次点击projects---your projects---project1---齿轮图标settings
---repository---Deploy Keys---输入key值---点选Write access allowed
其他项目也使用同一个key,但是要在Deploy Keys界面手动启用
在jenkins-slave上测试
git clone [email protected]:group1/project1.git

在master上配置slave节点
系统管理---节点管理---新建节点---名字jenkins-slave1,固定节点---标签和名字一样就行---远程工作目录:slave上的/data/jenkins
---用法:尽可能使用这个节点(自由风格和pipeline项目都优先自动使用该节点)
---启动方式:launch agent agents via SSH---host:slave的ip---凭据---add
---kind:username with password---username:salve的root(password)
---descriptin:slave的ip---Host Key Verification Strategy:non verifying verification strategy

指定pipeline任务使用slave构建
node('jenkins-slave1') {
stage('git code') {
echo 'git code'
sh 'rm -rf project1/'
sh 'git clone [email protected]:group1/project1.git'
}
stage('stop tomcat') {
echo 'stop tomcat'
sh 'ssh 192.168.1.17 "/etc/init.d/tomcat stop"'
sh 'ssh 192.168.1.18 "/etc/init.d/tomcat stop"'
}
stage('scp code') {
echo 'scp code'
sh 'scp project1/ [email protected]:/data/tomcat/webapps/web01/'
sh 'scp project1/
[email protected]:/data/tomcat/webapps/web01/'
}
stage('stop tomcat') {
echo 'stop tomcat'
sh 'ssh 192.168.1.17 "/etc/init.d/tomcat start"'
sh 'ssh 192.168.1.18 "/etc/init.d/tomcat start"'
}
}

猜你喜欢

转载自blog.51cto.com/dongdong/2423706