jenkins-node-pipeline

Jenkins node创建

1、jenkins搭建参考我的另外一篇文章:

   http://www.cnblogs.com/cuishuai/p/7544775.html

2、搭建完成后登录,选择Manage Jenkins

  

 

接下来进入管理界面,选择Manage Nodes:

 

 

 

 

选择New Node创建新的node

 

 

Node name 自己根据需要填写即可。

 

Labels可以指定不同的环境,此处我没有写,Host:填写此node的内网地址,用户名和免密码登录。

 

 

最后点击保存,创建完成。

 

接下来创建一个pipeline任务:

pipeline {
    agent {label 'spark' }
    stages {
        stage('userlogs') {
            steps {
                dir('/data/scripts'){
                  sh 'sh userlogs.sh'
                 
                }
            }
        }
        stage('es_userlogs') {
            steps {
                dir('/data/scripts'){  
                   sh 'sh es_userlogs.sh'
                }
       
            }
        }
    }
}

lable 可以写node的name,如果Lables处填写了,此处就可以写那个值了。

例子:

pipeline {

    agent {

        label 'Production'

    }

    stages {

        stage('Build') {           

            steps {               

                echo 'Building'           

            }       

        }       

        stage('Test') {           

            steps {               

                echo 'Testing'           

            }       

        }

        stage('Deploy - Staging') {            

            steps {               

                sh './deploy staging'               

                sh './run-smoke-tests'           

            }       

        }       

        stage('Sanity check') {           

            steps {                

                input "Does the staging environment look ok?"           

            }       

        }       

        stage('Deploy - Production') {           

            steps {               

                sh './deploy production'            

            }       

        }   

    }

 

    post {       

        always {           

            echo 'One way or another, I have finished'           

            deleteDir() /* clean up our workspace */       

        }       

        success {           

            echo 'I succeeeded!'       

        }       

        unstable {           

            echo 'I am unstable :/'       

        }       

        failure {           

            echo 'I failed :('       

        }        

        changed {           

            echo 'Things were different before...'       

        }   

    }

}

·  agent - 指定在哪台机器上执行任务,还记得上面配置Node时候填的Label吗,如果这两个label匹配得上,就在该Node中执行
·  stage - 组成工作流的大的步骤,这些步骤是串行的,例如buildtestdeploy
·  steps - 描述stage中的小步骤,同一个stage中的steps可以并行
·  sh - 执行shell命令
·  input - 需要你手动点击确定,Pipeline才会进入后续环节,常用于部署环节,因为很多时候部署都需要人为的进行一些确认
·  post - 所有pipeline执行完成后,会进入post环节,该环节一般做一些清理工作,同时还可以判断pipeline的执行状态

 

posted @ 2017-11-15 15:57  诗码者  阅读(4893)  评论(0编辑  收藏  举报