PART Ⅰ : 容器云OPENSHIFT
- 安装
- 数据持久化
- 集群管理
- 数据持久化
- 管理
- 网络
- 安全审计
- 工具应用部署
PART Ⅱ:容器云 KUBERNETES
- 基础
- 原理
- 系统应用/网络CNI/TRaefik
- 安装
- 集群管理
- 用户认证ServiceAccount与授权策略RBAC
- K8S应用管理工具Helm
- 问题
- 辅助工具
- Doing:K8S 多集群管理与网络互联
- VM On K8S
PART Ⅲ:持续集成与持续部署
- CICD优化总结
- Jenkins
- Gitlab
- Drone
- Nexus
- 配置
- 使用OrientDB Console在DB层面修改配置
- [设置SMTP邮件服务](https://www.wenjiangs.com/doc/krrcu7ebin9hh
- 仓库管理
- 数据备份恢复
- API
- Jenkins相关插件
- 配置
- SonarQube静态代码扫描分析
- LDAP
- Apollo
- 项目管理工具
- Jira
- Redmine
- Harbor
- Vault
- Alfred
- Web IDE: VSCode
- DolphinScheduler
PART Ⅴ:日志/监控/告警
- Logging
- Kafka/Zookeeper
- Filebeat
- Metrics
- Tracing
- Sentry日志聚合告警平台
PART Ⅵ:基础
- Docker
- Shell脚本
- Mave
- git
- 正则表达式
- SSL/TLS
- Ceph
- 性能压力测试
- PXE+Kickstart
- netboot.xyz
- Tool
- Windows
- MacOS小技巧
- Linux
- Linux排错优化
- iptables详解
- MySQL
- Redis
- 负载均衡与代理
- 代理服务器
- Nginx
- GitBook
- Telegram机器人
- OpenVPN Server
- iDRAC
- vSphere
- Raspberry Pi树莓派
- 钉钉机器人
- Aliyun CLI
- 音、视频处理工具:fffmpeg
- 图片处理工具:Imagemagick
- PDF处理工具:Ghostscript
- Nvidia
- Virtualbox 虚拟机管理
- 阿里云产品使用总结
- RustDesk:可自建远程控制软件
- Poste:自建邮件服务器
- 使用 Jlink构建最小化依赖的 JRE 环境
- Aria2
- Asuswrt-Merlin
- Trap:Shell脚本信号跟踪
- 零散知识汇总
- BarkServer通知
- Synology
PART Ⅶ:数据存储、处理
PART VIII:CODE
- Python学习笔记
- 基础语法
- statik 将静态资源文件打包到二进制文件中
- HTML/CSS 学习笔记
- JavaScript学习笔记
PART X:HACKINTOSH
PART XI:安全
Gitlab
Jenkins的Gitlab插件能接收gitlab仓库代码事件触发的Webhook来触发Jenkins Job/Pipeline的构建,并且能将构建状态同步到Gitlab中.
插件Github:https://github.com/jenkinsci/gitlab-plugin
利用此插件可实现如下效果:
Jenkins -> 系统管理 ->插件管理->可用插件->搜索"gitlab"
插件下载地址:https://plugins.jenkins.io/gitlab-plugin
1、Gitlab发送Webhook到Jenkins时的安全认证配置
Gitlab代码仓库配置web hook时需要Jenkins Gitlab插件的Token,来加密验证webhook的安全性
方式一:全局性的认证Token
① Jenkins创建新用户(授予Job/Build权限即可)
② 获取新用户的User ID和API Token
③ Gitlab配置web hook填写URL时,使用http://USERID:APITOKEN@JENKINS_URL/project/YOUR_JOB
即可(Secret Token
可忽略)
方式二(推荐):单独项目Jenkins Job的认证Token
在Gitlab中配置Webhook时,将图中的Token填入即可
方式三(不推荐):不使用认证
① Manage Jenkins -> Configure System -> GitLab
section -> 取消勾选 "Enable authentication for '/project' end-point"
2、Jenkins回写构建状态到Gitlab时需要的认证授权配置
Jenkins通过Gitlab API将构建状态回写到对应代码仓库时,需要有权限在代码仓库中创建评论,更改状态等
步骤一
① Gitlab创建新用户(建议命名用户名时尽量见名知意,例如:Jenkins)
② 登陆新用户,获取Access Tokens
,Token权限只要api
即可(及时复制Token,只显示一次)
③ 在Jenkins中创建GitLab API token
类型的凭据,在API token
字段中保存上一步获取的Token
④ 在Jenkins Gitlab插件中配置gitlab Server相关信息
步骤二
对应代码仓库配置Jenkins Job时要将该Token所属的用户加入members中,授予Developers角色或有更高权限的角色
1、配置Gitlab Buid Trigger
2、配置构建后Gitlab回写信息的动作
添加构建后动作"Pushlish build status to Gitlab"
之后会在Gitlab代码仓库的
CI/CD-->Pipeline
和Merge Request中看到构建状态图标添加构建后动作"Add note with build status on Gitlab merge request"
之后会根据构建状态的不同在Gitlab的Merge Request中添加不同的comment评论
添加构建后动作"Add Vote for build status on Gitlab merge request"
之后会根据构建状态的不同在Gitlab的Merge Request中显示不同的投票
添加构建后动作"Accept Gitlab merge request on success"
该动作会在build构建成功后在Gitla上自动同意接受Merge Request
不添加构建后动作
Gitlab的事件只会触发Jenkins构建,不会回写任何信息到gitlab对应代码仓库中
对于Gitlab发送过来的Webhook HTTP POST请求信息,可直接通过以下变量来获取。
- gitlabBranch
- gitlabSourceBranch
- gitlabActionType
- gitlabUserName
- gitlabUserEmail
- gitlabSourceRepoHomepage
- gitlabSourceRepoName
- gitlabSourceNamespace
- gitlabSourceRepoURL
- gitlabSourceRepoSshUrl
- gitlabSourceRepoHttpUrl
- gitlabMergeRequestTitle
- gitlabMergeRequestDescription
- gitlabMergeRequestId
- gitlabMergeRequestIid
- gitlabMergeRequestState
- gitlabMergedByUser
- gitlabMergeRequestAssignee
- gitlabMergeRequestLastCommit
- gitlabMergeRequestTargetProjectId
- gitlabTargetBranch
- gitlabTargetRepoName
- gitlabTargetNamespace
- gitlabTargetRepoSshUrl
- gitlabTargetRepoHttpUrl
- gitlabBefore
- gitlabAfter
- gitlabTriggerPhrase
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论