zoukankan      html  css  js  c++  java
  • 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的执行状态

     

  • 相关阅读:
    selenium--下拉列表选择
    Java——基本类型包装类,System类,Math类,Arrays类,BigInteger类,BigDecimal类
    Java——Object类,String类,StringBuffer类
    Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,四种访问修饰符,代码块)
    Java——面向对象进阶(构造方法,this,super)
    Java——面向对象进阶(抽象类,接口)
    Java——面向对象编程
    java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转
    CentOS7下安装MySQL
    Java——定义类,引用类数据类型,集合类型(array list)
  • 原文地址:https://www.cnblogs.com/cuishuai/p/7839409.html
Copyright © 2011-2022 走看看