千家信息网

如何部署Jenkins 管道

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这期内容当中小编将会给大家带来有关如何部署Jenkins 管道,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。jenkinsJenkins是一个用Java编写的开源的
千家信息网最后更新 2024年11月26日如何部署Jenkins 管道

这期内容当中小编将会给大家带来有关如何部署Jenkins 管道,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

jenkins

Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

可以通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。

创建Pipeline

基本环境搭建好后,我们来配置一个工作流亲自感受一下

工作流在Jenkins中被称为pipeline,pipeline的运行行为由用户自己定义,定义的内容存放在一个Jenkinsfile文件中,并将该文件存放在git仓库的根目录,大致的流程如下

  1. 用户将代码提交到git

  2. Jenkins从git拉取最新代码

  3. 读取根目录下的Jenkinsfile文件,并依次执行文件中定义的任务

下面是具体的配置步骤

编写Jenkinsfile

pipeline {    agent {        label 'master' /* 执行节点 */    }    stages {        stage('Build') {            steps {                echo 'Building'            }        }        stage('Test') {            steps {                echo 'Testing'            }        }        stage('Deploy - Staging') {            steps {                sh './deploy staging'                sh './run-smoke-tests'            }        }        stage('Sanity check') {            steps {                input "Does the staging environment look ok?"            }        }        stage('Deploy - Production') {            steps {                echo './deploy production'            }        }    }    post {        always {            echo 'One way or another, I have finished'            deleteDir() /* clean up our workspace */        }        success {            echo 'I succeeeded!'        }        unstable {            echo 'I am unstable :/'        }        failure {            echo 'I failed :('        }        changed {            echo 'Things were different before...'        }    }}

以上是一个基本的Jenkinsfile模板,其中有以下几个关键概念

  • agent - 指定在哪台机器上执行任务,还记得上面配置Node时候填的Label吗,如果这两个label匹配得上,就在该Node中执行

  • stage - 组成工作流的大的步骤,这些步骤是串行的,例如buildtestdeploy

  • steps - 描述stage中的小步骤,同一个stage中的steps可以并行

  • sh - 执行shell命令

  • input - 需要你手动点击确定,Pipeline才会进入后续环节,常用于部署环节,因为很多时候部署都需要人为的进行一些确认

  • post- 所有pipeline执行完成后,会进入post环节,该环节一般做一些清理工作,同时还可以判断pipeline的执行状态

了解了这些后,你会发现写一个Jenkinsfile是一件很容易的事情。好了,现在要测试pipeline功能,把上面的代码中的sh换成echo,拷贝到你的Jenkinsfile中,并存放在git仓库的根目录

创建pipeline

回到Jenkins web页面,添加pipeline

如果你想每次git commit时自动执行该pipeline,有两种方法,一种是让Jenkins对git进行轮询,每分钟检查git仓库有没有更新,如下配置

另一种方式是使用git提供的hook,该方式原理是git一旦提交,便会触发hook中的脚本,让脚本给Jenkins发送执行pipeline的指令,这种方式更优雅,但相应要做的事情更多一点,这里就不演示这种方法了,感兴趣的同学可以自己研究一下。

最后,我们需要设置git的地址,其中的授信设置,和上面说的Master到Node的授信设置一致

设置完毕后,一旦你的git仓库收到新的提交,就会触发这个pipeline的运行,以下这张图是上面Jenkinsfile例子的运行状态,可以看到当运行到Sanity check这一步时,需要你手动触发是否执行后面的操作。

其他

项目地址:https://github.com/changdaye/jenkins-docker-demo/

步骤图形化插件介绍: https://wiki.jenkins.io/display/JENKINS/Pipeline+Stage+View+Plugin

上述就是小编为大家分享的如何部署Jenkins 管道了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

步骤 运行 配置 仓库 文件 环节 项目 工作 代码 内容 可以通过 工作流 方式 根目录 脚本 软件 管道 事情 任务 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 玉溪市召开网络安全会议 山西精英网络技术服务计划表 软件开发行业的平均收入 注册网络安全工程师和会计 微信答题怎么设置服务器放数据 2k服务器无法下载更新 定州服务器能做核酸么 网页服务器停止响应 广州岂凡网络技术 网络安全季宣传活动方案 数据库综合题查询王平教师 服务器465端口已经打开 酒店服务器怎么改时间 db2 删除本地数据库 网络技术对信息安全的挑战 数据库表空间不足报错 上海网络软件开发定制介绍 幼儿园网络安全教育思想 安仁学电脑软件开发学费多少 规划建设魏都区互联网科技园 键值数据库的缺点 毁灭战士显示未连接服务器 sql查询数据库表有哪些列 互联网科技抖音 软件开发行业也是996吗 服务器与网络通信设备 浙江互联网络技术咨询服务 网络安全法指导意义 测控软件开发技术串口实验报告 福州金九鼎网络技术有限公司
0