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的更多相关文章
-
Redis基础知识补充及持久化、备份介绍(二)--技术流ken
Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...
-
Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken
项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...
-
Redis Cluster集群架构实现(四)--技术流ken
Redis集群简介 通过前面三篇博客的介绍<Redis基础认识及常用命令使用(一)--技术流ken>,<Redis基础知识补充及持久化.备份介绍(二)--技术流ken>,< ...
-
Docker端口映射及创建镜像演示(二)--技术流ken
前言 在上一篇博客<Docker介绍及常用操作演示--技术流ken>中,已经详细介绍了docker相关内容以及有关镜像和容器的使用命令演示. 现在我们已经可以自己下载镜像,以及创建容器了. ...
-
Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken
前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...
-
MySQL系列详解八:MySQL多线程复制演示-技术流ken
前言 Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有 ...
-
分布式系统监视zabbix讲解二之邮件报警通知--技术流ken
概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...
-
Docker网络(五)--技术流ken
本章内容 1.dokcer默认自带的几种网络介绍 2. 自定义网络 3. 容器间通信 4. 容器与外界交互 docker网络分为单个主机上的容器网络和多个主机上的哇网络,本文主要讲解单个主机上的容器网 ...
-
zabbix实现百台服务器的自动化监控--技术流ken
前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客将讲解一个我工作时做的一个实际项目,现在写出来供大家以后参考使用. 实现自动 ...
随机推荐
-
google开发者可以在中国访问啦!!!!
google开发者已经可以在中国访问了,只是好多内容还是不能访问的,例如Chrome
-
图灵机器人(问答机器人)API调用示例
问答机器人API文档:https://www.juhe.cn/docs/api/id/112 先上图: 说下大致实现的步骤: 1.首先使用了聚合数据的sdk,这样免费使用的数目可以多一些 2.使用gs ...
-
永久删除 tadb.exe
系统安装qq手机管家等手机管理软件之后,在开机时会自动运行tadb.exe, 这个垃圾进程会让开发android程序时默认的 adb.exe启动不了,这样就没法用手机调试. 这并不是说tadb.exe ...
-
【Lucene4.8教程之二】索引
一.基础内容 0.官方文档说明 (1)org.apache.lucene.index provides two primary classes: IndexWriter, which creates ...
-
POJ-1861-NETWORK 解题报告
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16628 Accepted: 6597 Specia ...
-
数据库(Oracle)运维工作内容及常用脚本命令
1.系统资源状况:--内存及CPU资源 --linux,solaris,aix vmstat 5 --说明: 1)观察空闲内存的数量多少,以及空闲内存量是否稳定,如果不稳定就得想办法来 ...
-
hihoCoder#1743:K-偏差排列(矩阵快速幂+状压dp)
题意 如果一个 \(1\to N\) 的排列 \(P=[P_1, P_2, ... P_N]\) 中的任意元素 \(P_i\) 都满足 \(|P_i-i| ≤ K\) ,我们就称 \(P\) 是 \( ...
-
(Power Strings)sdutoj2475
#include <stdio.h>#include <string.h>#include <stdlib.h>char a[1000001];int next[1 ...
-
Android开发新手问题
因为最近在用空闲时间学习Android开发,期间确实遇到了一些问题.而且因为我之前在公司里一直都是在使用Eclipse进行开发,所以最初我学习Android时也就选择了Google的包含android ...
-
DISCUZ开启设计插件功能和显示嵌入点功能
DISCUZ开启设计插件功能和显示嵌入点功能 找到config目录下的config_global.php文件.在最后加入 $_config['plugindeveloper'] = 0; $_conf ...