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

南宁市网站开发公司北京营销公司排行榜

南宁市网站开发公司,北京营销公司排行榜,专业的做pc端网站,郑州的做网站公司哪家好目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira新建模块 4. Jira 通过Webhook 触发Jenkins流水线 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 二、问题 1.Jira 配置网络钩子失败 2. Jira 远程触发Jenkins 报错 一、实验 1.环境 #xff08;1#xff09;主机 …目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira新建模块 4. Jira 通过Webhook 触发Jenkins流水线 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 二、问题 1.Jira 配置网络钩子失败 2. Jira 远程触发Jenkins 报错 一、实验 1.环境 1主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins slave 从节点 jira9.12.1192.168.204.180:8801node1K8S node节点1.20.6192.168.204.181node2K8S node节点1.20.6192.168.204.182jenkins  jenkins主节点       2.414.2192.168.204.15:8080  gitlab runner 从节点 gitlabgitlab 主节点     12.10.14192.168.204.8:82 jenkins slave 从节点 sonarqube9.6192.168.204.8:9000 2查看K8集群状态 # kubectl get node 2.GitLab 查看项目 1 GitLab查看后端项目项目编号为19 2GitLab查看前端项目项目编号为20 3.Jira新建模块 1查询已有模块前端项目 2新建后端项目模块 3再次查看模块 4. Jira 通过Webhook 触发Jenkins流水线 1Jenkins新建流水线 2配置触发器 3拿到Webhook 触发地址 http://JENKINS_URL/generic-webhook-trigger/invoke 4拿到携带TOKEN的请求参数 /invoke?tokenTOKEN_HERE 5Jira配置网络钩子 6完成创建 7新建问题 8Jenkins流水线成功运行 9再次新建问题 10Jenkins流水线成功运行 11修改Jenkins流水线配置 pipeline {agent anystages {stage(Hello) {steps {echo ${webhookData}}}} }12拿到webhook数据 13JSON转码 14拿到关键数据 1用于创建gitlab 项目名称 issue.fields.components 2 用于gitlab 分支名称 issue.key3用于gitlab 项目组名称 issue.fields.project.name 15Postman测试获取项目id http://192.168.204.8:82/api/v4/projects?searchdevops03-devops-service (16)Postman测试创建分支 http://192.168.204.8:82/api/v4/projects/20/repository/branches?branchnewbranchrefmaster 17GitLab前端项目成功创建分支 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 1Jenkins修改流水线代码 webhookData readJSON text: ${webhookData}//jira 事件 jiraEvent webhookData.webhookEvent jiraProjectName webhookData.issue.fields.project.name// 获取gitlab参数 gitlabProjects [] gitlabBranchName webhookData.issue.key gitlabGroupName jiraProjectNamefor (i in webhookData.issue.fields.components){gitlabProjects.add(i[name]) }//描述信息 currentBuild.description Trigger by ${jiraEvent} \n project: ${gitlabProjects} \n branch: ${gitlabBranchName}pipeline {agent { label build }stages {stage(Process) {steps {script {println(gitlabProjects)println(gitlabBranchName)projectIds GetProjectsId(gitlabGroupName,gitlabProjects)switch(jiraEvent) {case jira:issue_created:println(projectIds)for (id in projectIds){CreateBranch(id,gitlabBranchName,master)}breakdefault:println(error)break}}}}} }// 创建分支 def CreateBranch(projectId,newBranchName,sourceBranchName){apiUrl projects/${projectId}/repository/branches?branch${newBranchName}ref${sourceBranchName}response HttpReq(POST, apiUrl, ) }// 获取所有项目id def GetProjectsId(gitlabGroupName,gitlabProjects){gitlabProjectIds []for (project in gitlabProjects){id GetProjectId(gitlabGroupName,project)if (id ! 0){gitlabProjectIds.add(id)}}return gitlabProjectIds }// 根据项目名称获取项目iddef GetProjectId(groupName,projectName){apiUrl projects?search${projectName}response HttpReq(GET, apiUrl, )response readJSON text: response.content - \nfor (i in response){if (i[path_with_namespace] ${groupName}/${projectName}){return i[id]}} }// 封装HTTP def HttpReq(reqType, reqUrl,reqBody ){def gitServer http://192.168.204.8:82/api/v4withCredentials([string(credentialsId: 02dce3ff-4e46-4de2-b079-5dd6093d4f64, variable: GITLABTOKEN)]) {response httpRequest acceptType: APPLICATION_JSON_UTF8,consoleLogResponseBody: true,contentType: APPLICATION_JSON_UTF8,customHeaders: [[maskValue: false, name: PRIVATE-TOKEN, value: ${GITLABTOKEN}]],httpMode: ${reqType},url: ${gitServer}/${reqUrl},wrapAsMultipart: false,requestBody: ${reqBody}}return response } (2) Jira 新建问题更新前端项目分支 3Jenkins运行成功,出现相关描述信息 4GitLab查看前端项目新增分支 5Jira 新建问题实现同时更新前后端项目分支 6成功触发Jenkins流水线 7GitLab查看前端项目新增分支 8GitLab查看后端项目新增分支 9优化Jenkins流水线代码防止GitLab 同一项目fork问题 webhookData readJSON text: ${webhookData}//jira 事件 jiraEvent webhookData.webhookEvent jiraProjectName webhookData.issue.fields.project.name// 获取gitlab参数 gitlabProjects [] gitlabBranchName webhookData.issue.key gitlabGroupName jiraProjectNamefor (i in webhookData.issue.fields.components){gitlabProjects.add(i[name]) }//描述信息 currentBuild.description Trigger by ${jiraEvent} \n project: ${gitlabProjects} \n branch: ${gitlabBranchName}pipeline {agent { label build }stages {stage(Process) {steps {script {println(gitlabProjects)println(gitlabBranchName)projectIds GetProjectsId(gitlabGroupName,gitlabProjects)switch(jiraEvent) {case jira:issue_created:println(projectIds)for (id in projectIds){CreateBranch(id,gitlabBranchName,master)}breakdefault:println(error)break}}}}} }// 创建分支 def CreateBranch(projectId,newBranchName,sourceBranchName){try {apiUrl projects/${projectId}/repository/branches?branch${newBranchName}ref${sourceBranchName}response HttpReq(POST, apiUrl, )}catch(Exception e){println(e)} }// 获取所有项目id def GetProjectsId(gitlabGroupName,gitlabProjects){gitlabProjectIds []for (project in gitlabProjects){id GetProjectId(gitlabGroupName,project)if (id ! 0){gitlabProjectIds.add(id)}}return gitlabProjectIds }// 根据项目名称获取项目iddef GetProjectId(groupName,projectName){apiUrl projects?search${projectName}response HttpReq(GET, apiUrl, )response readJSON text: response.content - \nif (response.size() 1){for (i in response){if (i[path_with_namespace] ${groupName}/${projectName}){return i[id]}}}else {return response[0][id]}}// 封装HTTP def HttpReq(reqType, reqUrl,reqBody ){def gitServer http://192.168.204.8:82/api/v4withCredentials([string(credentialsId: 02dce3ff-4e46-4de2-b079-5dd6093d4f64, variable: GITLABTOKEN)]) {response httpRequest acceptType: APPLICATION_JSON_UTF8,consoleLogResponseBody: true,contentType: APPLICATION_JSON_UTF8,customHeaders: [[maskValue: false, name: PRIVATE-TOKEN, value: ${GITLABTOKEN}]],httpMode: ${reqType},url: ${gitServer}/${reqUrl},wrapAsMultipart: false,requestBody: ${reqBody}}return response } 10Jira 再次新建问题实现同时更新前后端项目分支 11成功 12GitLab查看前端项目新增分支 13GitLab查看后端项目新增分支 二、问题 1.Jira 配置网络钩子失败 1报错 Jira新建问题Jenkins未自动运行流水线。 2原因分析 选项错误。 3解决方法 修改Jira 网络钩子选项。 修改前: 修改后 2. Jira 远程触发Jenkins 报错 1报错 2原因分析 代码错误。 3解决方法 修改前 修改后
http://www.yutouwan.com/news/141435/

相关文章:

  • 做网站空间500m多少钱学习网站免费
  • c 网站开发构想前端是做网站吗
  • 做网站的公司怎么推广常州网站建设最易
  • 学校网站建设培训心得网站建设工作流程
  • php门户网站模板下载天津seo推广方法
  • seo教程技术整站优化专业网站建设必要性
  • 网站的建设方向湖北黄石网站建设
  • 建设文明网站包括广告公司推广软文
  • 特定ip段访问网站代码网站建设如何提高转化率
  • 小米路由做网站马鞍山 网站建设 有限公司
  • 公司建设网站费用怎么记账wordpress替换谷歌字体库
  • 公众号做微网站吗怎样做竞价推广
  • 有哪些做排球比赛视频网站青海保险网站建设公司
  • 网站建设合作合同wordpress是不是做网页
  • 哈尔滨网站建设渠道游戏程序员工资大概多少
  • 网站盒子怎么做免费一级域名有哪些
  • 工业设计招聘信息网站php是专门做网站的
  • 沈阳网站建设方案水泥网站营销方案怎么做
  • 手机微网站平台外贸推广网站哪家
  • 徐州企业网站制作淘宝客网站备案教程
  • 模板形的网站制作爱找主题wordpress
  • 做外贸需要自己建网站吗织梦企业 网站源码
  • 阜阳城乡建设局网站dede网站入侵
  • 专业制作网站费用网站建设与管理策划书
  • 永康网站开发公司网站接入
  • 东莞网站优化seo腾讯 wordpress
  • 宠物网站开发与实现结论wordpress发送页面失败
  • 集团网站策划方案接app推广的单子在哪接
  • 网上给别人做设计的网站单位做网站需要多少钱
  • 沈阳网站建设seo优化centos下xampp装载wordpress