jenkins创建物理slave节点

一、背景

由于我的jenkins master是运行在kubernetes中的,打包android是非常消耗CPU和内存资源,需将安卓打包单独调度到一个物理节点进行打包。

所有需要创建一个物理Node节点。

jenkins master 安装请看之前的文章,本文暂不介绍。

二、安装插件及slave节点配置

2.1、slave安装java环境

[root@mayi-ops ~]# yum -y install jdk-8u261-linux-x64.rpm
[root@mayi-ops ~]# cat >> /etc/profile <

如果通过jenkins 调用节点的命令打包,需在节点安装相应的工具。

2.2、安装SSH Slaves 插件


jenkins创建物理slave节点


三、jenkins配置

3.1、添加凭证


jenkins创建物理slave节点


3.2、配置从节点【节点管理—>新建节点】


jenkins创建物理slave节点


jenkins创建物理slave节点


3.3、启动Node节点

jenkins创建物理slave节点


jenkins创建物理slave节点


四、jenkinsfile pipeline

//*************************************************
// Author       : mayi-ops
// Last modified: 2022-01-06
// wechat        : a403182580
// Description  : 安卓jenkinsfile打包
//*************************************************

//pipeline构建过程
pipeline {
    agent  {label 'mayi-ops'}

    //变量
    environment {
        DingTalkHook = ""
    }
    stages { 
        //如果是非admin、打包、打包部署,才会打包
        stage('拉取代码') {
            steps{
                script {
                    /* 获取git地址 */
                    if ( env.GitAddress ){
                        if ( env.GitAddress == '' ) {
                            echo "请输入git分支!"
                        }
                    }else{
                        echo "请输入gitlab项目地址。"
                        exit 0
                    }
                       
                    /* 代码分支 */
                    //输入分支:参数化构建过程->字符参数->名称:codeBranch->默认值:fat
                    if ( env.codeBranch ){
                        if ( env.codeBranch == '' ){
                            echo "请输入git分支!"
                        }
                    }else{
                        echo "没输入分支,默认使用master"
                        env.codeBranch = "master"
                    }
                    echo "git:"+env.GitAddress
                    echo "Branch:"+env.codeBranch

                    //拉取业务代码
                    checkout([  
                        $class: 'GitSCM',
                        branches: [[name: "${codeBranch}"]],
                        doGenerateSubmoduleConfigurations: false,
                        extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'code']],
                        submoduleCfg: [],
                        userRemoteConfigs: [[credentialsId: "build_auth", url: "${GitAddress}"]]
                    ])
                }
            }
        }
        /*
        stage('调度测试'){
            steps{
                script {
                    dir("code"){
                        echo "打印主机名:"
                        sh "hostname"
                    }
                }
            }
        } 
        */       
    }
}

dd

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章