0
点赞
收藏
分享

微信扫一扫

Jenkins-pipeline


pipeline介绍

从某种抽象层次讲,部署流水线(Deployment pipeline)是指从软件版本控制到用户手中这一过程的自动化表现形式。

jenkins1.x只能通过界面手动操作来"描述"部署流水线,Jenkins2.x终于支持pipeline as code ,可以通过代码来描述部署流水线。

使用代码而不是UI的意义在于:

- 更好的版本化

- 更好的协作

- 更好的重用性

jenkins介绍

Jenkinsfile就是一个文本文件,也就是部署流水线概念在jenkins中的表现形式。向Dockerfile之余Dokcer。所有部署流水线的逻辑都写在Jenkinsfile中。

Jenkins已经默认支持Jenkinsfile

Pipeline语法的选择

jenkins包括脚本式(scripted)语法和声明式(declarative)语法。

创建第一个Pipeline

在Jenkins中新建一个pipeline项目

Jenkins-pipeline_maven


在项目的设置页面中,在pipeline节点下填入pipeline的内容,如图

Jenkins-pipeline_maven_02


执行,结果如图所示

Jenkins-pipeline_java应用_03


从版本控制库拉去pipeline

在hello-world实例中,我们是直接从Jenkins界面填入pipeline内容的。在验证时可以这么做的,但是不推荐以为这样无法做到pipeline的版本化。

接下来,我们Jenkisn从Git仓库拉去pipeline并执行。

首先需要安装git插件,然后使用SSH的clone方法拉去代码。所以需要将Git私钥放在Jenkins之上,这样Jekins才有权限从Git仓库拉去代码。

将Git私钥放在Jenkins上的方法是:进入Jenkins-》Credentials-》System-》Global credentials页,然后选择kind为SSH username with private key.

Jenkins-pipeline_git_04


现在看项目结构

Jenkins-pipeline_git_05


Jenkinsfile的内容就是Hello-world的内容。接下来把项目推送到gitlab。

在Hello-World实例中,在pipeline节点之下,在"定义"中选择Pipeline script from SCM

并在SCM中选择git,然后根据选项填入信息内容即可

Jenkins-pipeline_java应用_06


ScriptPath 就是pipeline的文件名,默认是Jenkinsfile

保存并创建陈宫改后,执行,在日志中除了Hello-world被打印出来,git clone过程的日志也被打印出来。

Jenkins-pipeline_git_07


需要注意的是,可能会报错,需要我们在插件更新pipeline的版本

使用maven构建java应用

maven是一个非常流行的Java应用构建工具。Jenkins默认支持maven但是maven项目需要自己构建。

项目结构如下:

Jenkins-pipeline_maven_08


接下来需要在jenkins安装jdk和maven。这些不再详细解释


举报

相关推荐

0 条评论