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

jenkins-cicd基础操作

1.先决条件

1.首先我个人势在k8s集群中创建的jenkins,部署方法搭建

k8s部署jenkins-CSDN博客

2.安装指定插件.

1.Gitlab plugin        用于调用gitlab-api的插件

2.Kubernetes plugin      jenkins与k8s进行交互的插件,可以用来自动化的构建和部署

3.Build Authorization Token Root     用于生产免密认证的token

4.SonarQube Scanner  用于jenkins触发sonarqube的代码检查用的插件,

5.Node and Label parameter  是让你指定该job运行在哪个节点(标签)上,Pipeline类型的在参数化构建里面

6.Git Parameter  可以让你读取你git上分支及标签信息,在git比较规范的时候好用.

7.Config File Provider 用于存储kubelet的配置信息.(/root/.kube/config中的信息.)

2. 生成凭据信息

 

 3.生成并配置gitlab-api令牌信息,

这里首先要再gitlab中生成一个访问令牌.

项目选项下-->设置-->访问令牌-->生成令牌-->

jenkins中创建访问凭证,将token粘贴进行凭据中.

4. 系统配置,配置

1.配置系统信息
2. 配置jenkins服务信息

3. 配置sonarqube环境信息

 4.配置gitlab环境信息

5.配置kubernetes的地址与jenkins的访问地址(应该是给插件配置的.)

6.这里因为是在k8s集群中搭建的jenkins,所以k8s的地址是https://kubernetes.defaul
7.配置jenkins的service地址,以及对应端口号(k8s集群中的service名称)

8.配置kubernetes的kubelet认证信息.

9.保存下认证jenkins中生成的配置文件ID

10.这里的配置信息是/root/.kube/config

5.配置完成.创建流水线.

1.创建一个流水线风格的

2.构建触发器

3.最后将之前创建的k8s的配置信息id填写进secret 

4.这里是测试用的脚本.

5.配置gitlab的webhooks

1.说明一下,这里的URL地址是jenkins流水线项目的地址.就是上面构建触发器里面的地址.

2.secret 令牌 是创建流水线的时候高级里面有一个secret token 这个token就是一个gitlab与jenkins流水线认证的一个标识.

3.触发事件,根据自己实际情况来确定触发方式,随意选择.这里用的事post触发请求.

6.通过gitlab发送请求来测试jenkins是否可以顺利触发流水线操作.

通过gitlab推送请求来触发流水线操作.

查看jenkins流水线状态

查看详情.

构建完成.完结撒花.

相关文章:

  • SpringBoot第56讲:SpringBoot集成文件 - 集成EasyExcel之Excel导入导出
  • php中WebSocket简单使用
  • 外包干了2个多月,技术明显有退步了。。。。。
  • Day52力扣打卡
  • 拨号连接bat命令和拨号错误623,系统无法找到此连接的电话簿项的解决方法
  • JavaWeb(二)
  • 小纸条..
  • MATLAB 系统辨识 - 在线估计 - Online Estimation
  • c语言上机小练(有点难)
  • Golang实践录:读取toml配置
  • 免费的AI智能改写工具,让你的文章每一篇都是原创
  • ES6中的Promise
  • Ubuntur编译ROS报错:error PCL requires C++14 or above
  • 流量分析1--菜刀666
  • 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)spring boot项目搭建、vue项目搭建、微信小程序项目搭建
  • 【剑指offer】让抽象问题具体化
  • Bytom交易说明(账户管理模式)
  • CODING 缺陷管理功能正式开始公测
  • Java精华积累:初学者都应该搞懂的问题
  • jquery ajax学习笔记
  • Making An Indicator With Pure CSS
  • Python打包系统简单入门
  • Vue 2.3、2.4 知识点小结
  • 机器学习中为什么要做归一化normalization
  • 力扣(LeetCode)965
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #pragma 指令
  • #微信小程序(布局、渲染层基础知识)
  • $jQuery 重写Alert样式方法
  • (4)logging(日志模块)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (力扣)循环队列的实现与详解(C语言)
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)socket Aio demo
  • *2 echo、printf、mkdir命令的应用
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 简单实现MD5
  • .sh 的运行
  • @Builder用法
  • [AIGC] MySQL存储引擎详解
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BT]BUUCTF刷题第9天(3.27)
  • [GN] Vue3.2 快速上手 ---- 核心语法2
  • [Grafana]ES数据源Alert告警发送
  • [IE编程] 了解Urlmon.dll和Wininet.dll