当前位置: 首页 > news >正文

夏邑做网站平面设计素材网址

夏邑做网站,平面设计素材网址,上海旅游网站建设情况,重庆观音桥必吃美食上一篇为大家详细介绍了tekton - pipeline#xff0c;由于里面涉及到的概念比较多#xff0c;因此需要好好消化下。同样#xff0c;今天在特别为大家分享下tekton - Trigger以及案例演示#xff0c;希望可以给大家提供一种思路哈。 文章目录 1. Tekton Trigger2. 工作流程3…上一篇为大家详细介绍了tekton - pipeline由于里面涉及到的概念比较多因此需要好好消化下。同样今天在特别为大家分享下tekton - Trigger以及案例演示希望可以给大家提供一种思路哈。 文章目录 1. Tekton Trigger2. 工作流程3. 安装trigger和interceptors4. 案例案例: gitlab跳代码触发tektonstep1: 创建task - 拉取代码step2: 创建task - 构建代码step3: 创建task - 打包镜像step4: 创建pipelinestep5: 创建pipelinerunstep6: 创建事件监听器step7: 创建TriggerBinding文件step8: 创建TriggerTemplate模版文件step9: 创建sastep10: 创建gitlab webhook的信息step11: 创建RBACstep12: gitlab创建webhook 测试 1. Tekton Trigger Trigger 组件就是用来解决这个触发问题的它可以从各种来源的事件中检测并提取需要信息然后根据这些信息来创建 TaskRun 和 PipelineRun还可以将提取出来的信息传递给它们以满足不同的运行要求。 Tekton Trigger中有6类对象分别是 EventListener事件监听器是外部事件的入口 通常需要通过HTTP方式暴露以便于外部事件推送比如配置Gitlab的Webhook。Trigger指定当 EventListener 检测到事件发生时会发生什么它会定义 TriggerBinding、TriggerTemplate 以及可选的 Interceptor。TriggerTemplate用于模板化资源根据传入的参数实例化 Tekton 对象资源比如 TaskRun、PipelineRun等。TriggerBinding用于捕获事件中的字段并将其存储为参数然后会将参数传递给 TriggerTemplate。ClusterTriggerBinding和 TriggerBinding 相似用于提取事件字段不过它是集群级别的对象。Interceptors拦截器在 TriggerBinding 之前运行用于负载过滤、验证、转换等处理只有通过拦截器的数据才会传递给TriggerBinding。 2. 工作流程 step1EventListener 用于监听外部事件具体触发方式为 http外部事件产生后被 EventListener 捕获然后进入处理过程。 step2首先会由 Interceptors 来进行处理如果有配置 interceptor 的话对负载过滤、验证、转换等处理类似与 http 中的 middleware。 step3Interceptors 处理完成后无效的事件就会被直接丢弃剩下的有效事件则交给 TriggerBinding 处理 step4TriggerBinding 实际上就是从事件内容中提取对应参数然后将参数传递给 TriggerTemplate。 step5TriggerTemplate 则根据预先定义的模版以及收到的参数创建 TaskRun 或者 PipelineRun 对象。 step6TaskRun 或者 PipelineRun 对象创建之后就会触发对应 task 或者 pipeline 运行整个流程就全自动了。 3. 安装trigger和interceptors # install reigger kubectl apply --filename https://storage.googleapis.com/tekton-releases/triggers/latest/release.yaml # install interceptors kubectl apply --filename https://storage.googleapis.com/tekton-releases/triggers/latest/interceptors.yaml# monitor kubectl get pods --namespace tekton-pipelines --watch4. 案例 案例: gitlab跳代码触发tekton step1: 创建task - 拉取代码 同pipeline案例2 step2: 创建task - 构建代码 同pipeline案例2 step3: 创建task - 打包镜像 task-package.yaml apiVersion: tekton.dev/v1beta1 kind: Task metadata:name: package-2 spec:workspaces:- name: source # 名称params:- name: image_desttype: stringdefault: registry.ap-southeast-1.aliyuncs.com/my_image_repo- name: shatype: stringdefault: latest- name: DockerfilePathtype: stringdefault: Dockerfile- name: Contexttype: stringdefault: .- name: project_nametype: stringdefault: teststeps:- name: packageimage: docker:stableworkingDir: $(workspaces.source.path)script: |#/usr/bin/env shTag$(params.sha)tag${Tag:0:6}docker login registry.ap-southeast-1.aliyuncs.comdocker build -t $(params.image_dest)/$(params.project_name):${tag} -f $(params.DockerfilePath) $(params.Context)docker push $(params.image_dest)/$(params.project_name):${tag}volumeMounts:- name: dockersorckmountPath: /var/run/docker.sockvolumes:- name: dockersorckhostPath:path: /var/run/docker.sockstep4: 创建pipeline pipeline.yaml apiVersion: tekton.dev/v1beta1 kind: Pipeline metadata:name: clone-build-push-2 spec:description: |This pipeline clones a git repo, builds a Docker image with Kaniko andpushes it to a registryparams:- name: repo-urltype: string- name: shatype: string- name: project_nametype: string- name: versiontype: stringworkspaces:- name: shared-datatasks:# 拉取代码- name: fetch-sourcetaskRef:name: git-cloneworkspaces:- name: outputworkspace: shared-dataparams:- name: urlvalue: $(params.repo-url)- name: revisionvalue: $(params.version)# 打包- name: build-codetaskRef:name: build-2workspaces:- name: sourceworkspace: shared-datarunAfter:- fetch-source# 构建并推送镜像- name: package-imagerunAfter: [build-code]taskRef:name: package-2workspaces:- name: sourceworkspace: shared-dataparams:- name: shavalue: $(params.sha)- name: project_namevalue: $(params.project_name)step5: 创建pipelinerun pipelinerun.yaml apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata:generateName: clone-build-push-run-#name: clone-build-push-run spec:serviceAccountName: gitlab-sapipelineRef:name: clone-build-push-2podTemplate:securityContext:fsGroup: 65532workspaces:- name: shared-datavolumeClaimTemplate:spec:accessModes:- ReadWriteOnceresources:requests:storage: 128Miparams:- name: repo-urlvalue: gitjihulab.com:cs-test-group1/kxwang/test.git #https://jihulab.com/cs-test-group1/kxwang/test.git- name: shavalue: bchdsvhj12312312312241421 # - name: image_tag # value: v2- name: versionvalue: refs/heads/master- name: project_namevalue: wkxstep6: 创建事件监听器 EventListener.yaml apiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata:name: gitlab-listener # 该事件监听器会创建一个名为el-gitlab-listener的Service对象namespace: default spec:resources:kubernetesResource:serviceType: NodePortserviceAccountName: gitlab-satriggers:- name: gitlab-push-events-triggerinterceptors:- ref:name: gitlabparams:- name: secretRef # 引用 gitlab-secret 的 Secret 对象中的 secretToken 的值value:secretName: gitlab-webhooksecretKey: secretToken- name: eventTypesvalue:- Push Hook # 只接收 GitLab Push 事件bindings:- ref: pipeline-bindingtemplate:ref: pipeline-templatestep7: 创建TriggerBinding文件 TriggerBinding.yaml apiVersion: triggers.tekton.dev/v1beta1 kind: TriggerBinding metadata:name: pipeline-binding spec:params:- name: repo-urlvalue: $(body.repository.git_ssh_url)- name: versionvalue: $(body.ref)- name: shavalue: $(body.checkout_sha)- name: project_namevalue: $(body.project.name)step8: 创建TriggerTemplate模版文件 TriggerTemplate.yaml apiVersion: v1 kind: Secret metadata:name: gitlab-webhook type: Opaque stringData:secretToken: 123456789 [rootVM-0-14-centos class-4]# cat TriggerTemplate.yaml apiVersion: triggers.tekton.dev/v1beta1 kind: TriggerTemplate metadata:name: pipeline-template spec:params:- name: sha- name: project_name- name: version- name: repo-urlresourcetemplates:- apiVersion: tekton.dev/v1beta1kind: PipelineRunmetadata:generateName: clone-build-push-run-spec:serviceAccountName: gitlab-sapipelineRef:name: clone-build-push-2params:- name: shavalue: $(tt.params.sha)- name: versionvalue: $(tt.params.version)- name: repo-urlvalue: $(tt.params.repo-url)- name: project_namevalue: $(tt.params.project_name)workspaces:- name: shared-datavolumeClaimTemplate:spec:accessModes:- ReadWriteOnceresources:requests:storage: 128Mistep9: 创建sa gitlab-sa.yaml apiVersion: v1 kind: ServiceAccount metadata:name: gitlab-sa secrets: - name: gitlab-auth - name: gitlab-ssh - name: docker-credentials - name: gitlab-webhookstep10: 创建gitlab webhook的信息 secret-gitlab-webhook.yaml apiVersion: v1 kind: Secret metadata:name: gitlab-webhook type: Opaque stringData:secretToken: 123456789step11: 创建RBAC rbac.yaml apiVersion: v1 kind: ServiceAccount metadata:name: gitlab-sa --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: triggers-gitlab-clusterrole rules:# Permissions for every EventListener deployment to function- apiGroups: [triggers.tekton.dev]resources: [eventlisteners, triggerbindings, triggertemplates,clustertriggerbindings, clusterinterceptors,interceptors,triggers]verbs: [get,list,watch]- apiGroups: []# secrets are only needed for Github/Gitlab interceptors, serviceaccounts only for per trigger authorizationresources: [configmaps, secrets, serviceaccounts]verbs: [get, list, watch]# Permissions to create resources in associated TriggerTemplates- apiGroups: [tekton.dev]resources: [pipelineruns, pipelineresources, taskruns]verbs: [create] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:name: triggers-gitlab-clusterrolebinding subjects:- kind: ServiceAccountname: gitlab-sanamespace: default roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: triggers-gitlab-clusterrolegitlab-sa.yamlstep12: gitlab创建webhook 测试 界面提交下code 创建issue验证拦截器规则
http://www.w-s-a.com/news/613412/

相关文章:

  • 南宁cms建站wordpress 开启缩略图
  • 网站模板软件网站admin密码
  • 网站信息做参考文献射阳做企业网站多少钱
  • 网站外部优化的4大重点外贸站外推广
  • 宁波网站建设活动德州乐陵德州seo公司
  • 网站网址相对路径如何设置wordpress怎么加快网站打开速度
  • 有没有能帮人快速网站备案的机构网站建设与制作总结
  • 网站不用了怎么办苏州h5模板建站
  • 网站建设制作定制免费网络短剧
  • 建设部建造师强制注销网站h5响应式网站模板下载
  • 蛋糕网站内容规划建设网站需要多少钱济南兴田德润o厉害吗
  • 企业如何建设网站呢做网站的高手
  • 为什么打开网址都是站长工具开发一款网站需要多少钱
  • 做一个网站app需要多少钱分类信息网站建设计划
  • 怎样下载建设部网站建模培训
  • 北流网站建设制作旅游网站开发目的和目标
  • 网站公司怎么做的网站建设论文二稿
  • 网站建设服务商都有哪些html项目答辩
  • 网站上传到万网主机wordpress视频防盗链
  • 西安建设商城类网站广告设计公司文案
  • 如何建设好高校网站麻辣烫配方教授网站怎么做
  • 宁波网站建设计品牌推广策略分析
  • 网站自建设需要买什么时候开始深圳市建筑市场信息公开平台
  • 平台营销型网站建设小城镇建设的网站文献
  • 燕郊个人做网站小企业网站模板
  • 网站ip需要备案新开河街做网站公司
  • 网站定制设计方案wordpress批量传图片
  • 做外贸兼职的网站设计福州网站开发私人
  • 金华建站模板目前国内有哪些网站做家具回收
  • 个人做网站还是公众号赚钱好部门网站建设和维护