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项目
在项目的设置页面中,在pipeline节点下填入pipeline的内容,如图
执行,结果如图所示
从版本控制库拉去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.
现在看项目结构
Jenkinsfile的内容就是Hello-world的内容。接下来把项目推送到gitlab。
在Hello-World实例中,在pipeline节点之下,在"定义"中选择Pipeline script from SCM
并在SCM中选择git,然后根据选项填入信息内容即可
ScriptPath 就是pipeline的文件名,默认是Jenkinsfile
保存并创建陈宫改后,执行,在日志中除了Hello-world被打印出来,git clone过程的日志也被打印出来。
需要注意的是,可能会报错,需要我们在插件更新pipeline的版本
使用maven构建java应用
maven是一个非常流行的Java应用构建工具。Jenkins默认支持maven但是maven项目需要自己构建。
项目结构如下:
接下来需要在jenkins安装jdk和maven。这些不再详细解释
Jenkins-pipeline
最新推荐文章于 2024-10-11 22:35:57 发布