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,这层是定义具体要执行的操作

  1. pipline {
  2.  
  3. agent any;
  4.  
  5. environment {
  6.  
  7. user='deploy'
  8.  
  9. host='1.2.3.4'
  10.  
  11. PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
  12.  
  13. }
  14.  
  15. stages {
  16.  
  17. stage('bulid job') {
  18.  
  19. environment {
  20.  
  21. NEWPATH='/bin:/sbin'
  22.  
  23. }
  24.  
  25. steps {
  26.  
  27. sh '/home/a.sh'
  28.  
  29. echo "hi boys"
  30.  
  31. script{
  32.  
  33. xxxx
  34.  
  35. xxxx
  36.  
  37. }
  38.  
  39. }
  40.  
  41. }
  42.  
  43. }
  44.  
  45. }

区域:

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代码

  1. pipeline{
  2. agent {node {label 'master'}}
  3. environment {
  4. PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
  5. }
  6.  
  7. parameters{
  8. choice(
  9. name: "deploy_env",
  10. choices: "dev\nprod",
  11. description: "this is for liang lei xi tong"
  12. )
  13. string(name: 'version',defaultValue: '1.0.0', description: '版本号')
  14. }
  15.  
  16. stages {
  17. stage("test for pipline job"){
  18. steps{
  19. sh "git config --global http.sslVerify false"
  20. dir ("${env.WORKSPACE}"){
  21. git branch:'master',
  22. url:'http://10.220.5.232/gp1/wordpress.git',
  23. credentialsId:'119a7e29-4c6c-4f75-bfdb-56fa0edcafaa'
  24. }
  25. }
  26. }
  27. stage("print bianlian"){
  28. steps{
  29. sh """
  30. set +x
  31. echo "===============start job=============="
  32. echo "你选的类型是 $deploy_env"
  33. echo "your version is $version"
  34. echo "===============stop job =============="
  35. set -x
  36. """
  37. }
  38. }
  39. }
  40. }

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. navicat连接mysql出现2059错误

    最近在学习django的时候需要用到数据库,于是便下载了navicat准备和mysql配套使用,但是在连接的时候确出现了如下问题: 网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密 ...

  2. Java 异常与反射 总结

    1.异常 异常,简单来说,就是一个程序执行过程中发生的不正常情况的事件.它发生在程序的运行期间,干扰了正常的指令流程.如果没有处理异常,那么出现异常之后,程序会停止运行.异常分为运行异常和非运行异常. ...

  3. 为程序设置多语言界面——C#

    考虑到程序的国际化需求,需要为程序设置多语言界面. 1,新建一个资源文件,名字可以是对应界面+语言代码(MainForm.zh-CN).这样资源文件就会自动添加到对应界面下面. 2,更改界面属性Loc ...

  4. C#中数组、ArrayList和List三者的区别 转

    在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...

  5. Python环境安装及IDE介绍

    因为最近时间比较松散,公司的业务也不多,所以想趁机赶紧投入到人工智能的学习大业当中.经过多次比较,看到目前市面上还是使用Python做为基础语言较多,进儿学习算法.人工智能组件.机器学习.数据挖掘等课 ...

  6. Python序列结构--元组

    元组:轻量级列表 元组创建于元素访问 >>> x = (1, 2, 3)>>> type(x)<class 'tuple'>>>> x ...

  7. 11g直接路径读、相关参数、10949事件介绍

    转载自刘向兵老师:http://www.askmaclean.com/archives/11g-direct-path-read-10949-_small_table_threshold-_seria ...

  8. nova compute enable password injection and filesystem resize

    root@OpenstackIcehouse2:~# cat /etc/nova/nova-compute.conf [DEFAULT] compute_driver=libvirt.LibvirtD ...

  9. 【.NET Core项目实战-统一认证平台】第五章 网关篇-自定义缓存Redis

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我们介绍了2种网关配置信息更新的方法和扩展Mysql存储,本篇我们将介绍如何使用Redis来实现网关的所有缓存功能,用到的文档及源码 ...

  10. 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法

    不知道你有没有遇到过这样的问题,网站访客多起来后,心里很是高兴,加上了Nginx反向代理,出问题了 原来是这么写的: Request.Url.ToString() 输出是这样的: http://www ...