流水线
是可自定义的工作模型,它定义了交付软件的完整流程,一般包含构建、测试和部署等阶段。流水线
执行过程或者某个阶段
的执行环境,必须出现在描述文件
顶格或者每一个阶段
里。是否必须 | 是 |
参数列表 | 见下文 |
允许的位置 | 必须出现在 描述文件 顶格或者每一个阶段 里 |
阶段
定义了一系列紧密相关的步骤
。每个阶段
在整条流水线中各自承担了独立、明确的责任。比如“构建阶段”、“测试阶段”或“部署阶段”。通常来讲,所有的实际构建过程都放置在阶段
里面。是否必须 | 至少一个 |
参数列表 | 一个强制的字符串类型参数,用以指明阶段名称 |
允许的位置 | 在 阶段(stage) 区块内部 |
阶段列表
包含了一系列的阶段
,一个阶段列表
最少包含一个阶段
。流水线
里必须要有且仅有一个阶段列表
。是否必须 | 是 |
参数列表 | 无 |
允许的位置 | 在 流水线(pipeline) 内只能出现一次 |
步骤列表
描述了一个阶段
内具体要做什么事,具体要执行什么命令。比如有一个步骤(step)
需要系统打印一条“构建中...”的消息,即执行命令echo '构建中...'
。是否必须 | 是 |
参数列表 | 无 |
允许的位置 | 在每一个 阶段(stage) 块内 |
阶段
,通常适用于阶段
与阶段
之间不存在依赖关系的情况下,用来加快执行速度。注意任何含并行
区块下的阶段
不能再设置执行环境
。pipeline {agent anystages {stage('检出') {steps {sh 'ci-init'checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]],userRemoteConfigs: [[url: env.GIT_REPO_URL]]])}}stage('构建') {steps {echo '构建中...'sh 'make'echo '构建完成.'}}stage('测试') {steps {echo '单元测试中...'sh 'make check'junit 'reports/**/*.xml'echo '单元测试完成.'}}stage('部署') {steps {echo '部署中...'sh 'make publish'echo '部署完成'}}}}
本页内容是否解决了您的问题?