• Jenkins凭证及任务演示-pipeline(二)--技术流ken


    Jenkins前言

    在上一篇博客《Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken》中已经详细介绍了jenkins的插件安装以版本更新等,本篇博客将再深入探究jenkins的更多功能,以便能够熟练使用jenkins完成工作中的内容。

    本篇博客将详细讲解有关jenkins的凭证以及新建任务的演示,有关jenkins系列会一直更新到jenkins与gitlab和ansible完成动态和静态网站持续集成自动化部署为止,敬请期待。

    Jenkins凭证介绍

    有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。

    此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。

    Jenkins 中保存的凭证可以用于:

    • 任何适用于 Jenkins 的任何地方(即全局证书)
    • 特定的 Pipeline 项目
    • 特定的 Jenkins 用户

    Jenkins凭证的创建

    第一步:创建凭证

    进入你的jenkins的首页,点击左边栏的凭证

    第二步:点击全局凭据

    第三步:点击 添加一些凭据

    第四步:输入信息

    在如下的对话框中输入你的信息点击确定即可

    第五步:首页查看

    即可看到我们已经添加的凭据

    新建任务演示

    如果你想使用jenkins完成日常的工作,那么你必须要学会如何使用任务。

    所谓的任务你可以这样理解就是你需要执行的一系列动作。

    第一步:点击新建任务

    第二步:输入你要创建的任务名称

    输入完成点击下方的确定即可

    注意:名称不能有空格

    这个名称就是一个目录,接下来我们会演示git,git拉取到的内容就是保存了这个同名目录下面

    第三步:填写你需要看到的信息

    在参数构建过程中参数有几个你必须知道的是文本参数和选项参数

    这里我选择选项参数进行演示

    第四步:git获取项目

    URL输入你的项目地址

    凭证哪里添加可以获取到你的项目的用户和用户名

    branch哪里添加分支

    第五步:构建

    这里就是把 你的命令添加在这里即可

    在shell中添加如下内容并保存即可

    第六步:构建参数

    如果你选择了选项参数,在这个任务界面就可以看到这个选项

    点开这个,就会看到我们刚才输入的tyep以及auto了(忘记了请往上翻一下哦)

    第七步:返回结果

    如果执行成功了左下角的圆圈就是蓝色的

    执行失败了就是红色

    鼠标放上去也会看到提示信息的

    第八步:查看执行过程

    下图中的红色框都是我刚才执行的命令

    第一列:的/var/lib/jenkins/workspace/test_for_block 是echo 的结果,表示jenkins现在工作目录是在你的任务名称下的

    第二列:显示当前所在的目录,其实可以发现我们现在就处在自己的新建任务的同名目录中

    第三列:进入到工作目录,即当下

    第四列:给我们展示了当前目录下的所有文件,可以看到我们远程仓库中的文件已经被拉取到了当前文件夹下

    pipeline结构介绍

    层级结构

    第一层:pipline,这是最外层

    第二层:stages,这层是用来完成一个特定的工作,其中有一个或者多个子层,每个子层是一个stage

    第三册:stage,这是stages的子层

    第四层:steps,这层是定义具体要执行的操作

     

    pipline {
    
     agent any;
    
     environment {
    
      user='deploy'
    
         host='1.2.3.4'
    
         PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
    
     }
    
     stages {
    
      stage('bulid job') {
    
       environment {
    
           NEWPATH='/bin:/sbin'
    
       }
    
       steps {
    
        sh '/home/a.sh'
    
        echo "hi boys"
    
        script{
    
         xxxx
    
         xxxx
    
        }
    
       }
    
      }
    
     }
    
    }

      

    区域:

    1.  agent:定义当前的job运行在哪个jenkins节点上

      any:

      none:

      node:

      agent {node {label 'ser1'}}

      agent any

     2. environment:定义环境变量

      格式:变量名=变量值

     3. script:可选的

     4. steps:借助于特定的jenkis模块来完成特定的工作

      echo

      sh

      git

    pipeline演示

     第一步:新建任务

    选择流水线

     第二步: 编写pipeline

    可以发现这里面的界面比我们之前选择的freestyle界面简洁的多

    在这里填写你的pipeline保存即可

    第三步:构建

    点击立即构建即可

    第四步:查看执行结果

    可以发现执行成功

    pipeline的功能很多,在接下来的博客当中会使用pipeline完成动态网站的持续集成部署。

     上面例子中的pipeline代码

    pipeline{
     agent {node {label 'master'}}
     environment {
      PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
     }
    
     parameters{
      choice(
       name: "deploy_env",
       choices: "dev
    prod",
       description: "this is for liang lei xi tong"
      )
      string(name: 'version',defaultValue: '1.0.0', description: '版本号')
     }
    
     stages {
      stage("test for pipline job"){
       steps{
        sh "git config --global http.sslVerify false"
        dir    ("${env.WORKSPACE}"){
         git branch:'master',
         url:'http://10.220.5.232/gp1/wordpress.git',
         credentialsId:'119a7e29-4c6c-4f75-bfdb-56fa0edcafaa'
        }
       }
      }
      stage("print bianlian"){
       steps{
        sh """
         set +x
         echo "===============start job=============="
         echo "你选的类型是 $deploy_env"
         echo "your version is $version"
         echo "===============stop job =============="
         set -x
        """
       }
      }
     }
    }
  • 相关阅读:
    函数指针与函数声明
    long和int的区别
    pthread_create传递参数
    C语言中的static 详细分析
    linux 读写锁应用实例
    linux使用读写锁pthread_rwlock_t
    linux的<pthread.h>
    时间:UTC时间、GMT时间、本地时间、Unix时间戳
    等号赋值与memcpy的效率问题
    单链表带头结点&不带头结点
  • 原文地址:https://www.cnblogs.com/kenken2018/p/10009279.html
Copyright © 2020-2023  润新知