构建

构建步骤:可以增加多个构建步骤,可以是下面图中红框标出的其中一种。我这里演示的是执行shell,当然也可以是invoke Ant(调用ant),这是一种java语言编写的构建工具,其功能和shell也类似,多了步骤依赖和一些其他功能,对于我们来说,哪种熟悉用那种就好。

k8s jenkins github 自动化部署 jenkins自动部署到k8s_jenkins失败后重试

 

比如本文是准备打包好的应用放到docker中,并把镜像push到阿里云镜像中心,但是我们在这篇文章中不做详解,之后的文章中会详细描述我们在这期间遇到了什么问题。

构建后操作

构建后操作,就是对project构建完成后的一些后续操作,比如生成相应的代码测试报告,构建其他工程,清空工作区,发送邮件通知构建结果等。

k8s jenkins github 自动化部署 jenkins自动部署到k8s_配置jenkins项目_02

构建失败后进行重试

在构建的时候,有可能会因为网络波动或者其他因素构建失败,这个时候除了发送日志通知之外,还应该自动尝试重新构建。我们可以使用插件naginator。

k8s jenkins github 自动化部署 jenkins自动部署到k8s_配置jenkins项目_03

插件配置

在构建项目上设置,构建后操作里选择Retry build after failure,

Fixed :固定值

Fixed delay :填写每次重试的时间延迟单位是秒。

Progressive :递进式,间隔Increment秒重试一次,直到达到Maximum秒停止重试

Increment :增量

Maximum :最大值

 

Maximum number of successive failed builds :连续失败的构建的最大数目

k8s jenkins github 自动化部署 jenkins自动部署到k8s_jenkins失败后重试_04

 

我这里设置重试前间隔1秒,重试1次,当然这里应该设置更合适的重试时间,建议不要跟我这样设置太短,30秒到1分钟一次是个合理的选择。也可以选择下面的递进式的,重试如果还是失败应该人工干涉处理。

真正的构建

当上面的步骤都配置完成会后,就到了激动人心的时刻:开始一次构建

k8s jenkins github 自动化部署 jenkins自动部署到k8s_配置jenkins项目_05

左侧有一个立即构建的按钮,点击以后,就会按照我们的配置进行各个构建过程。这个会在左下侧的构建历史中,会出现一个正在构建的项目如下。

k8s jenkins github 自动化部署 jenkins自动部署到k8s_jenkins构建后操作_06

点击红框的位置,进入本次构建的详情页面

构建版本号

k8s jenkins github 自动化部署 jenkins自动部署到k8s_jenkins构建后操作_07

注意我们红框这个地方,是构建的版本号,如果在构建中想要使用这个构建版本号,可以用变量$BUILD_ID来调用,这是jenkins定义好的环境变量shell中也可以使用,另外这个变量的生成格式是可以自定义的,这个还有其他的环境变量后文中如果需要还会再讲解。

控制台输出

这里是为了让我们看到构建过程的,怎么拉取的git代码,怎么执行的shell命令,以及命令的输出都会在控制台中显示出来,方便我们观察和调试。

k8s jenkins github 自动化部署 jenkins自动部署到k8s_jenkins配置构建_08

构建结果说明

 

构建状态

Successful蓝色:构建完成,并且被认为是稳定的。

Unstable黄色:构建完成,但被认为是不稳定的。

Failed红色:构建失败。

Disable灰色:构建已禁用

 

构建稳定性

构建稳定性用天气表示:晴、晴转多云、多云、小雨、雷阵雨。天气越好表示构建越稳定.