首页
视频
资源
登录
原
Jenkins Pipeline简单运用
4383
人阅读
2021/4/23 22:23
总访问:
2593633
评论:
0
收藏:
0
手机
分类:
Jenkins
![](https://img.tnblog.net/arcimg/hb/3e561bcf71f1462c9fc300d92e4381d5.png) ># Jenkins Pipeline简单运用 [TOC] Pipeline简单运用 ------------ ### 创建一个任务流水线 ![](https://img.tnblog.net/arcimg/hb/0ebb368b7a0840408459bd7e46dbff54.png) ![](https://img.tnblog.net/arcimg/hb/83f3ee227dea4eb9a47ec8c3a110d39b.png) ![](https://img.tnblog.net/arcimg/hb/2e72a8b714cd4931b217596b7da35017.png) <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 我们从中可以看出,他最大的不同就是多了一个Pipeline模块,在Pipeline模块下的它所支持的有两种语法:Declarative声明式与Script脚本式。 </p> ### Declarative声明式 ![](https://img.tnblog.net/arcimg/hb/d06546aa66bc44fcb7ff084d8dd1b294.png) <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 在Stages这个字段之前我们是可以添加一些环境变量与代理的,这些我们后面再说。 Stages是多个阶段的意思,Stage就是其中一个阶段,在Stage里面就是步骤就是指具体所需要执行的是哪些步骤。 接下来我们写一个简单的Pipeline示例如下图所示。我们先拉取代码,然后再生成代码,最后将代码进行发布。 </p> ```mermaid graph LR A(pull code) --> B(build project) B(build project) --> C(Publish) ``` ```groovy pipeline { agent any stages { stage('pull code') { steps { echo 'pull code' } } stage('build project') { steps { echo 'build project' } } stage('publish') { steps { echo 'publish' } } } } ``` ![](https://img.tnblog.net/arcimg/hb/d0eb414df7744b11ba51aabaa040725d.png) ![](https://img.tnblog.net/arcimg/hb/4ceb48b55c464f3dac118d8d2a1e09aa.png) ![](https://img.tnblog.net/arcimg/hb/5e6f60fb577f430ca44f8038fe02d4f7.png) ### Script脚本式 ![](https://img.tnblog.net/arcimg/hb/e0869fca530343fc86b403f3fffe1af5.png) ![](https://img.tnblog.net/arcimg/hb/85d89606a1664d41a0b4b0aa867cb724.png) ```groovy node { def mvnHome stage('pull code') { echo 'pull code' } stage('build project') { echo 'build project' } stage('publish') { echo 'publish' } } ``` ![](https://img.tnblog.net/arcimg/hb/ebf5265f2c574a79a94b0281c2bc804f.png) ![](https://img.tnblog.net/arcimg/hb/65aec106e18d480eaa9767164c57011d.png) ![](https://img.tnblog.net/arcimg/hb/143a0250fa9044e6b2c63ec3e5deb0cb.png) 流水线语法生成器 ------------ ![](https://img.tnblog.net/arcimg/hb/2bd4271c8c6b48188b1b2a2c11b6a35f.png) ### 片段生成器 <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 此代码片段生成器将帮助您学习可用于定义各个步骤的管道脚本代码。从列表中选择一个您感兴趣的步骤,对其进行配置,然后单击Generate Pipeline Script,您将看到一个Pipeline Script语句,该语句将使用该配置来调用该步骤。您可以将整个语句复制并粘贴到脚本中,也可以只选择您关心的选项。(大多数参数是可选的,可以在脚本中省略,将其保留为默认值。) </p> ![](https://img.tnblog.net/arcimg/hb/326358464ed345ceb9b4c7063e14e592.png) >这里我们生成一个拉取git的代码 ![](https://img.tnblog.net/arcimg/hb/edd268e01a294b4880ae468f39e5b5a5.png) >然后将脚本复制到我们Pipeline中(注意这里需要改成你自己的项目git) ```groovy node { def mvnHome stage('pull code') { git credentialsId: '771a6f14-71ca-4316-a1a7-d349b005de79', url: 'ssh://git@xxxxxxx/myprivateproject/devops.git' } stage('build project') { echo 'build project' } stage('publish') { echo 'publish' } } ``` ![](https://img.tnblog.net/arcimg/hb/f35bc2f78042402cb7236dfd0f64aeb4.png) ![](https://img.tnblog.net/arcimg/hb/803c59c0219745fcae4331365c450230.png) ![](https://img.tnblog.net/arcimg/hb/2ca9946560334879a67e83272176c032.png) 编写简单的Jenkinsfile到Pipeline ------------ ### 创建beta项目 ![](https://img.tnblog.net/arcimg/hb/5126d1b5d36d4b368eb25566b8fcff7b.png) >创建一个`Jenkinsfile`文件 ```groovy pipeline { agent any stages { stage('pull code') { steps { git credentialsId: '771a6f14-71ca-4316-a1a7-d349b005de79', url: 'ssh://git@xxx.xxx.xxx.xx:xxxx/root/beta.git' } } stage('build project') { steps { echo 'build project' } } stage('publish') { steps { echo 'publish' } } } } ``` >上传代码 ```groovy git pull git add . git status git commit -m 'push jenkinsfile' git push ``` ![](https://img.tnblog.net/arcimg/hb/9f01e5d99a0a47a7aafdad209805d293.png) ![](https://img.tnblog.net/arcimg/hb/7350f52be9f64951a4f21036af5b7fe3.png) ### 创建流水线任务 ![](https://img.tnblog.net/arcimg/hb/69ecbd303a534d359820c72c22b19a23.png) ![](https://img.tnblog.net/arcimg/hb/9722add682684fd2bbc99a45af71064a.png) ![](https://img.tnblog.net/arcimg/hb/7e19ab8c4ccb4d398ed2d8546397fdcd.png) ![](https://img.tnblog.net/arcimg/hb/48b9a9b863114f3c8fe19a140028713f.png) ![](https://img.tnblog.net/arcimg/hb/34b158002e8a4c2fb3b4c6ecf3d89d18.png)
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
168篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
2篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术