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