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\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
"""
}
}
}
}

Jenkins凭证及任务演示-pipeline(二)--技术流ken的更多相关文章

  1. Redis基础知识补充及持久化、备份介绍(二)--技术流ken

    Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...

  2. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  3. Redis Cluster集群架构实现(四)--技术流ken

    Redis集群简介 通过前面三篇博客的介绍<Redis基础认识及常用命令使用(一)--技术流ken>,<Redis基础知识补充及持久化.备份介绍(二)--技术流ken>,< ...

  4. Docker端口映射及创建镜像演示(二)--技术流ken

    前言 在上一篇博客<Docker介绍及常用操作演示--技术流ken>中,已经详细介绍了docker相关内容以及有关镜像和容器的使用命令演示. 现在我们已经可以自己下载镜像,以及创建容器了. ...

  5. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken

    前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...

  6. MySQL系列详解八:MySQL多线程复制演示-技术流ken

    前言 Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有 ...

  7. 分布式系统监视zabbix讲解二之邮件报警通知--技术流ken

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

  8. Docker网络(五)--技术流ken

    本章内容 1.dokcer默认自带的几种网络介绍 2. 自定义网络 3. 容器间通信 4. 容器与外界交互 docker网络分为单个主机上的容器网络和多个主机上的哇网络,本文主要讲解单个主机上的容器网 ...

  9. zabbix实现百台服务器的自动化监控--技术流ken

    前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客将讲解一个我工作时做的一个实际项目,现在写出来供大家以后参考使用. 实现自动 ...

随机推荐

  1. python网络爬虫开发实战(崔庆才)_14页_chromedriver环境配置和加载

    自己1,环境配置,我下载了相对应的Chromedriver(其实我也不知道对不对应,都是下载最新版的我猜应该会对应),然后在任何文件夹下输入command+shift+G,打开输入窗口,任何输入  / ...

  2. background-attachment属性

    通过对background-attachment属性的学习,辨析每个属性值之间的区别. 1.fixed与scroll的区别 background-attachment:fixed;当滚动页面滚动条时背 ...

  3. Python在Windows上安装配置测试

    Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 2.x还是3.x 目前,Python ...

  4. Reids学习2 -- 使用Jedis操作Redis

    1. 如何获取Jedis 获取Jar包可以通过Maven库获取:http://mvnrepository.com/artifact/redis.clients/jedis 或者可以通过Maven配置: ...

  5. 去掉jenkins的首页警告

    有时候jenkins首页会弹出一些升级警告之类的东西,不喜欢的直接屏蔽掉就行. 类似于这样: 在  全局安全配置里 将一下项目的勾去掉就行 应用,保存.这样就清爽多了

  6. Android WebView 超大字号适配问题

    目前在使用 Android WebView 展示H5页面的时候,存在当系统字号设置超大的时候,出现页面内容展示不全的问题. 此问题是因为Android WebView 默认使用系统字号进行展示. 解决 ...

  7. 细说MySQL表操作

    目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...

  8. OAuth2简易实战(四)-Github社交联合登录

    1. OAuth2简易实战(四)-Github社交联合登录 1.1. 用到的第三方插件 https://github.com/spring-projects/spring-social-github ...

  9. LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Sun Jan 13 17:59:19 CST 2019]; root of context hierarch

    在运行项目时出现了:LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via ...

  10. Maven私服nexus

    部署私服 xenus  下载https://www.sonatype.com/download‐oss‐sonatype 我下载了两个版本的nexus: nexus-3.13.0-01-unix.ta ...