技术流ken

运维拯救世界

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凭证的创建

 

可以给gitlab创建一个凭证,用户是gitlab用户名,密码是gitlab密码,这样在调用git做持续集成的时候就可以直接使用该凭证了

第一步:创建凭证

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

 

第二步:点击全局凭据

 

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

第四步:输入信息

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

第五步:首页查看

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

 

项目需求

 

为了增加项目的难度,特地要求使用role,以及templates来完成该项目。

1. 在gitlab中创建一个项目 nginxinstall
2. 编写playbook,实现一键部署nginx、部署一个静态测试页、测试部署结果
要求:
部署nginx
端口:83
运行身份:root
设置并发连接数:2048
根目录:/vaw/www/html

其他要求: 
部署两个以上节点
用role
用templates

3. 将写好的playbook保存到gitlab仓库中

 

 

 

 

新建任务演示

 

如果你想使用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\nprod",
   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
    """
   }
  }
 }
}

发表评论

电子邮件地址不会被公开。