传统云环境下的CI/CD操作手册(七)用slave节点实现分布式jenkins
更新:HHH   时间:2023-1-7


在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 root@192.168.1.17
ssh-copy-id root@192.168.1.18
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 git@192.168.1.14: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 git@192.168.1.14: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/* root@192.168.1.17:/data/tomcat/webapps/web01/'
        sh 'scp project1/* root@192.168.1.18:/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"'
    }
}
返回云计算教程...