精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Tekton系列之實踐篇-如何用Jenkins來管理Tekton

開發 架構
從理論上用Jenkins來管理Tekton是可行的,而且對于Jenkins重度用戶來說,也算是比較不錯的事情。當然我更想使用類似于Kubesphere這類來管理,期待Kubesphere把Tekton集成進去。

在《??Tekton系列之實踐篇-由Jenkins改成Tekton??》中,我們可以將Jenkinsfile改成Tekton Pipeline,但是Tekton有一個很大的問題是不能很好的劃分權限,特別是在Dashboard上根本就做權限控制,那如果在實際中使用的話權限不明會帶來很多問題,比如誰刪了什么,誰執行了什么都不知道。

如果你公司有自動化運維平臺,可以接入Tekton,如果沒有就需要在Github上找是否有相關的Dashboard或者平臺,可惜我什么都沒有.....

目前我使用的Kubesphere來管理K8s集群以及流水線,所以我就在想怎么使用kubesphere管理。不過截止目前版本,Kubesphere的流水線引擎還是Jenkins,除非二開,不然沒辦法直接繼承Tekton,期待Kubesphere把Tekton也加入(https://github.com/kubesphere/community/blob/master/sig-advocacy-and-outreach/summer-ospp/kubeSphere-tekton-integration_zh-CN.md)。

那應該怎么做呢?我想到一個很牛逼(SB)的辦法,如下:

看懂了么?

其實就是繼續使用Jenkins做Kubesphere的流水線引擎,然后將Jenkins和Tekton進行打通,這樣是不是間接使用了Tekton?這是不是一個很牛逼(SB)的idea?

但是悲劇來了,Jenkins的Tekton插件要求Jenkins最低的版本是2.263,而Kubesphere的Jenkins版本是2.49,而且升級非常麻煩,麻煩到官方都不建議升級的地步。所以這里只能退而求其次,使用Jenkins來進行實驗了。

部署Jenkins

Jenkins的部署方式有很多,這里采用Helm的方式來部署,簡單快捷。

首先需要安裝Helm命令,見文檔(https://helm.sh/docs/intro/install/)。

接著安裝Jenkins,如下:

helm repo add jenkinsci https://charts.jenkins.io
helm repo update
# 我習慣把CHART下載到本地,方便管理
helm pull jenkinsci/jenkins
# 這里有一步解壓的過程,然后進入Jenkins目錄進行部署
# 部署
kubectl create ns devops
helm install jenkins -n devops .

部署完成后即可進行登錄了。

訪問地址要么使用NodePort,要么使用ingress,這里沒有展示配置過程。

安裝Jenkins插件

為了實現上面的需求,我找到一個Jenkins插件可以用來管理Tekton,插件名叫tekton-client-plugin tekton-client-plugin(https://github.com/jenkinsci/tekton-client-plugin)。

tekton-client-plugin用來打通Jenkins和Tekton,功能也不復雜,可以到文檔(https://plugins.jenkins.io/tekton-client/#documentation)進行學習。

如果Jenkins版本大于2.263,可以直接在插件中心下載,如下:

配置權限

這里是權限是Jenkins操作Tekton的權限,如下:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tekton-role
namespace: tekton-devops-pipeline
rules:
- apiGroups:
- ""
resources:
- pods
- pods/log
verbs:
- get
- list
- watch
- apiGroups:
- tekton.dev
resources:
- tasks
- taskruns
- pipelines
- pipelineruns
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: tekton-role-binding
namespace: tekton-devops-pipeline
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: tekton-role
subjects:
- kind: ServiceAccount
name: jenkins
namespace: devops

注意授權的serviceaccount和namespace。

編寫Jenkinsfile

要使用的Jenkinsfile其實很簡單。但是由于我們是多分支發布,所以Jenkinsfile如下:

pipeline {
agent any

parameters {
choice(description: '選擇分支', name: 'BRANCH_NAME', choices: ['dev', 'test', 'uat', 'pre', 'prod'])
}

stages {
stage('deploy to dev'){
when{
expression {
return "$BRANCH_NAME".contains('dev')
}
}
steps{
tektonCreateRaw input: 'deploy/dev/pipeline.yaml', inputType: 'FILE', namespace: 'tekton-devops-pipeline'
}
}
stage('deploy to test'){
when{
expression {
return "$BRANCH_NAME".contains('test')
}
}
steps{
tektonCreateRaw input: 'deploy/test/pipeline.yaml', inputType: 'FILE', namespace: 'tekton-devops-pipeline'
}
}
stage('deploy to uat'){
when{
expression {
return "$BRANCH_NAME".contains('uat')
}
}
steps{
tektonCreateRaw input: 'deploy/uat/pipeline.yaml', inputType: 'FILE', namespace: 'tekton-devops-pipeline'
}
}
stage('deploy to pre'){
when{
expression {
return "$BRANCH_NAME".contains('pre')
}
}
steps{
tektonCreateRaw input: 'deploy/pre/pipeline.yaml', inputType: 'FILE', namespace: 'tekton-devops-pipeline'
}
}
stage('deploy to prod'){
when{
expression {
return "$BRANCH_NAME".contains('prod')
}
}
steps{
tektonCreateRaw input: 'deploy/prod/pipeline.yaml', inputType: 'FILE', namespace: 'tekton-devops-pipeline'
}
}
}
}

Tekton的PipelineRun按目錄分級,如下(這里只是為了方便,其實可以只用一個PipelineRun):

弄完過后,就可以創建流水線了,如下創建一個hello-world-test的流水線。

然后選擇對應的分支進行部署。可以看到觸發了Tekton的PipelineRun,如下:

不過Jenkins這邊還有如下問題:

[Checks API] No suitable checks publisher found.
Failed: null
java.lang.NullPointerException
at org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw.createPipelineRun(CreateRaw.java:278)
at org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw.createWithResourceSpecificClient(CreateRaw.java:168)
at org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw.runCreate(CreateRaw.java:429)
at org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw.perform(CreateRaw.java:393)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:101)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:71)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

[Checks API] No suitable checks publisher found.

雖然報這個錯,但是Tekton PipelineRun觸發沒問題,具體原因還待排查,這就非常尷尬了。看到下面這一串串的紅色,心涼了一半(Tekton實際是可以允許成功)。

最后其實這篇實踐不算完成,Jenkins的問題還沒有解決,在網上查了半天資料也沒什么效果,很多說是Jenkins Check-API 插件的原因,但是沒有去測試。

不過,從理論上用Jenkins來管理Tekton是可行的,而且對于Jenkins重度用戶來說,也算是比較不錯的事情。當然我更想使用類似于Kubesphere這類來管理,期待Kubesphere把Tekton集成進去。

責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2022-03-21 09:40:48

TektonJenkinsPipeline

2022-04-14 07:51:39

TektonTaskRun

2022-04-25 08:07:45

TektonArgocdCI和CD

2022-03-10 13:57:23

TektonJenkinsPipeline

2022-03-08 08:32:43

Tekton云原生開源

2022-03-01 13:55:27

TektonKubernetes集群

2022-07-27 07:39:45

Kubernetes云原生

2022-08-11 16:29:32

Tekton流水線遷移工作流

2021-06-18 05:48:02

Tekton DevopsKubernetes

2021-04-27 22:32:01

TektonKubernetesCI

2021-06-25 09:54:49

GitLab Tekton Devops

2021-05-13 18:23:53

Tekton云原生Kubernetes

2021-07-09 06:40:59

TektonArgo CD GitOps

2022-04-01 10:51:33

TektonArgoCDGitOps

2021-06-26 14:22:34

Tekton流水線Kubernetes

2021-06-09 05:44:45

云原生 CICD

2021-06-28 06:32:46

Tekton Kubernetes Clone

2021-02-09 08:17:05

內核Kprobe函數

2021-11-26 08:14:05

云原生CICD

2010-07-20 08:49:00

Objective C
點贊
收藏

51CTO技術棧公眾號

水蜜桃久久夜色精品一区的特点| 丝袜av一区| 一区二区在线免费| 国产不卡一区二区三区在线观看| 日本高清www免费视频| 亚洲人成网77777色在线播放| 在线视频一区二区三| 最新不卡av| 天堂在线免费av| 久久综合激情| 欧美精品一区二区三区国产精品 | 亚洲欧美小说色综合小说一区| 久久久噜噜噜久久中文字幕色伊伊| 欧美制服第一页| 小早川怜子一区二区的演员表| 136国产福利精品导航网址应用| 在线一区二区三区四区| 国产精品视频二| 成人在线播放视频| 国产91精品免费| 国产精品亚洲欧美导航| 激情五月色婷婷| 亚洲老妇激情| 中文字幕精品www乱入免费视频| 国产69视频在线观看| 国产成+人+综合+亚洲欧美| 亚洲成人1区2区| 一区二区三区免费看| 亚洲欧美色视频| 国产精品88av| 国产日韩欧美综合| 无码人妻久久一区二区三区| 欧美区国产区| 精品国产一区二区三区久久久狼| 免费在线观看你懂的| 超碰成人免费| 宅男在线国产精品| 国产一级特黄a大片免费| 欧美极品少妇videossex| 国产精品久久一级| 日本在线观看一区| 蜜臀av免费在线观看| 国产精品一区二区久激情瑜伽| 国产综合色香蕉精品| 一级特黄免费视频| 久久免费黄色| 国产福利成人在线| 欧美一级片免费在线观看| 一区在线免费| 久久久久久亚洲精品| 久久99久久98精品免观看软件| 午夜av一区| zzjj国产精品一区二区| 国产传媒国产传媒| 国产剧情一区| 中文字幕亚洲激情| 少妇av片在线观看| 三级电影一区| 久久视频在线播放| 欧美三根一起进三p| 欧美二区不卡| 久久免费视频网站| www.国产高清| 日韩成人免费电影| 国产精品偷伦视频免费观看国产| 中日韩在线观看视频| 青青青免费在线| av资源亚洲| 欧美亚洲丝袜传媒另类| 亚洲精品久久久久久宅男| 91成人app| 精品剧情在线观看| 精品无码一区二区三区| 精品国产乱码久久久| 久久精品中文字幕电影| 九九视频在线免费观看| 一本久道久久久| 国产精品美女www爽爽爽视频| 在线视频欧美亚洲| 国产成人综合在线| 精品伦理一区二区三区| 免费动漫网站在线观看| 国产99久久精品| 久久日韩精品| 国产永久免费高清在线观看视频| 国产亚洲欧美一级| 一本色道久久99精品综合| 秋霞成人影院| 国产精品免费丝袜| 乱熟女高潮一区二区在线| heyzo中文字幕在线| 婷婷一区二区三区| av观看免费在线| 成人黄色免费短视频| 欧美羞羞免费网站| 亚洲一二三av| 国产精品香蕉| 日韩在线激情视频| 国产在线视频在线观看| 六月婷婷一区| 91精品久久久久久综合乱菊| 亚洲精品字幕在线| 久久综合五月天婷婷伊人| 视频一区二区综合| 性欧美1819sex性高清大胸| 亚洲国产一区在线观看| 亚洲欧洲日本精品| aaa国产精品视频| 日韩激情视频在线| 我不卡一区二区| 中文字幕亚洲精品乱码| 69av成年福利视频| 中文字幕一区二区三区免费看| 国产精品亚洲午夜一区二区三区| 91福利视频导航| 九九在线视频| 亚洲综合在线第一页| 免费看的黄色大片| av在线国产精品| 精品视频在线导航| 久久久久久久中文字幕| 喷水一区二区三区| 国产日韩精品一区观看| 亚洲图片88| 欧美午夜激情视频| 不卡的一区二区| 成人同人动漫免费观看| 97国产成人精品视频| 国产喷水吹潮视频www| 久久精品男人的天堂| 中文字幕日韩精品无码内射| 欧美性理论片在线观看片免费| 日韩免费一区二区| av免费播放网站| 男女av一区三区二区色多| 亚洲综合色av| 神马午夜一区二区| 亚洲综合视频在线观看| 青青草久久伊人| 免费观看久久av| 午夜精品在线视频| 99热精品在线播放| 中文字幕乱码日本亚洲一区二区| 国产特级淫片高清视频| 国产精品xnxxcom| 日韩在线观看免费全集电视剧网站 | a级片在线观看视频| 日韩在线看片| 国产精品免费久久久| 婷婷综合激情网| 亚洲已满18点击进入久久| 日韩免费高清在线| 欧洲毛片在线视频免费观看| 78m国产成人精品视频| 丰满熟女一区二区三区| 亚洲色图欧洲色图| 亚洲制服中文字幕| 99精品视频在线| 国产精品一区二区久久久| 国产又爽又黄网站亚洲视频123| 亚洲免费伊人电影| www,av在线| 久久久久久久久丰满| 国产精品va在线播放| av网站无病毒在线| 欧美伊人久久久久久久久影院| 欧美图片一区二区| 亚洲欧美日韩一区在线观看| 久久久久一区二区| 自拍视频在线看| 日韩电影中文字幕一区| 国产精品99re| www亚洲一区| 粉嫩虎白女毛片人体| 女优一区二区三区| 国产精品91免费在线| 国产免费av在线| 欧美日韩亚洲综合一区二区三区| 欧美精品日韩在线| 激情另类小说区图片区视频区| 伊人av成人| 久久国产精品美女| 欧美肥婆姓交大片| 欧美亚洲精品在线观看| 欧美日韩视频免费播放| 国产毛片久久久久久久| 韩国三级在线一区| 免费人成自慰网站| 伦理一区二区三区| 国产成人精品久久二区二区| 成人综合影院| 日韩亚洲欧美成人一区| 日韩福利片在线观看| 久久日韩精品一区二区五区| 亚洲一级片网站| 欧美在线1区| 久久国产精品99久久久久久丝袜| 日本韩国欧美| 久久精品亚洲精品| 午夜成人鲁丝片午夜精品| 欧美调教femdomvk| 精品无码m3u8在线观看| av电影在线观看一区| 免费涩涩18网站入口| 欧美福利一区| 欧美日韩电影一区二区| 日日夜夜精品| 日韩av免费在线看| 影音先锋男人在线资源| 日韩精品久久久久久久玫瑰园| 亚洲午夜无码久久久久| 夜夜嗨av一区二区三区网页| 国产精品高清无码在线观看| 国产精品1区2区3区| 九九热在线免费| 亚洲一级一区| 中国一区二区三区| 先锋影音国产精品| 91蜜桃网站免费观看| 国精产品一区一区三区四川| 日韩一区二区精品视频| 韩国三级在线观看久| 日韩一区二区免费视频| 亚洲av无码精品一区二区| 亚洲激情欧美激情| 亚洲ⅴ国产v天堂a无码二区| 成人免费av在线| 妺妺窝人体色www在线观看| 午夜在线一区| 久青草视频在线播放| 日韩中文首页| 日本不卡一区二区三区视频| 国产乱人伦丫前精品视频| 91精品国产综合久久男男| 97在线超碰| 午夜免费在线观看精品视频| 2024短剧网剧在线观看| 中文字幕国产日韩| 黄色在线免费观看大全| 亚洲成人教育av| 国产乱色精品成人免费视频| 欧美日本韩国一区二区三区视频| 日日骚av一区二区| 亚洲成人精品一区| 欧美黑人性猛交xxx| 国产精品成人在线观看| 91成人精品一区二区| 国产亚洲欧美日韩日本| 国产精品揄拍100视频| 不卡的av在线播放| 亚洲熟女乱综合一区二区| 国产毛片精品视频| 午夜久久福利视频| 国产伦精品一区二区三区在线观看| 伊人国产在线视频| 男女男精品视频网| 少妇性l交大片| 秋霞电影一区二区| 亚洲中文字幕久久精品无码喷水| 丝袜亚洲精品中文字幕一区| 欧洲av无码放荡人妇网站| 99国产精品久久久久久久成人热| 国产黄色激情视频| 国产一区日韩一区| 污污污污污污www网站免费| 欧美gayvideo| 免费观看黄色大片| 午夜精品电影| aaa免费在线观看| 亚洲五月综合| 97碰在线视频| 亚洲美女视频在线免费观看| 国产精品无码av无码| 免费观看在线综合色| 91女神在线观看| 国产一区视频导航| 女女调教被c哭捆绑喷水百合| 国产麻豆精品95视频| 艳妇乳肉豪妇荡乳xxx| 91亚洲精品一区二区乱码| 亚洲永久无码7777kkk| 国产人成一区二区三区影院| 污污视频网站在线免费观看| 国产色综合久久| 午夜免费激情视频| 午夜影院在线观看欧美| 久久久久久91亚洲精品中文字幕| 色婷婷综合久久久久中文| 中文字幕91爱爱| 欧美美女激情18p| 欧美一级一区二区三区| 亚洲精品综合久久中文字幕| 97超碰人人在线| 欧美另类高清videos| 免费成人在线电影| 欧美中文字幕精品| 国产精品一区二区三区www| 国产精品久久久久久久久久久久冷| 老司机精品视频在线播放| 日韩精彩视频| 亚洲综合中文| caoporn超碰97| 国产成人一区二区精品非洲| 精品人妻一区二区三区视频| 国产精品第四页| 亚洲 欧美 视频| 欧美剧情片在线观看| 欧美一级在线免费观看| 亚洲人成在线免费观看| a在线免费观看| 热久久这里只有精品| 欧美成人高清视频在线观看| 韩国成人一区| 国产精品99视频| 欧美视频第一区| 国产精品资源在线| 亚洲精品国产91| 婷婷夜色潮精品综合在线| 亚洲熟妇无码久久精品| 亚洲国产成人爱av在线播放| 一级日本在线| 青草成人免费视频| 日韩一区网站| 亚洲一区二区精品在线| 久久久久综合| 一边摸一边做爽的视频17国产| 中文字幕中文字幕一区| 精品成人免费视频| 日韩欧美在线一区二区三区| 日本在线视频网| 国产成人精品一区二区三区| a看欧美黄色女同性恋| 欧美日韩一区二区三区电影| 日日骚欧美日韩| 内射中出日韩无国产剧情| 亚洲人成电影网站色mp4| 国产影视一区二区| 国产一区二区三区在线免费观看| 97久久人人超碰caoprom| 92福利视频午夜1000合集在线观看| 97久久视频| 美女一区二区三区视频| 2欧美一区二区三区在线观看视频| 久久在线视频精品| 91精品福利在线一区二区三区| 免费黄色在线| 成人免费观看网址| 日韩大片在线| 激情 小说 亚洲 图片: 伦| 国产亚洲欧美日韩在线一区| 亚洲成人第一网站| 亚洲精品资源美女情侣酒店| 3344国产永久在线观看视频| 国产成人免费观看| 在线成人亚洲| 日本女人性视频| 色偷偷偷在线视频播放| 亚洲精品xxx| 精品自拍一区| 91亚洲精品视频| 色婷婷热久久| 第一区免费在线观看| 亚洲国产成人一区二区三区| 91黑人精品一区二区三区| 一区二区三区视频免费| 激情都市亚洲| 欧美日韩一区在线播放| 欧美专区一区二区三区| 免费观看av网站| 欧美色欧美亚洲另类二区| 1pondo在线播放免费| 国产精品久久久久久一区二区 | 91精品综合久久久久久五月天| 成人91在线| 一级淫片在线观看| 亚洲精品老司机| 亚洲第一色网站| 国内精品视频久久| 精品国产亚洲一区二区三区大结局| 大地资源网在线观看免费官网| 国产盗摄女厕一区二区三区| 久久9999久久免费精品国产| 亚洲第一区在线| 91在线三级| 午夜精品一区二区在线观看的 | 毛葺葺老太做受视频| 欧美经典一区二区| 国产伦精品一区二区三区免.费| 中文欧美在线视频| 91精品入口| 国产熟女高潮视频| 欧美高清在线精品一区| 国产精品伊人久久| 欧美最近摘花xxxx摘花| 成人同人动漫免费观看| 少妇献身老头系列| 色哟哟国产精品| 牛牛精品视频在线| 欧美另类一区| 国产一区在线不卡|