分类目录归档:CD

Jenkins_集成_与OpenLDAP集成实现内部应用权限管理


实现效果

Jenkins集成OpenLDAP使其指定账号只能对指定Job进行操作。

插件安装

Jenkins中安装如下两个插件:

  1. Role-based Authorization Strategy,配置用户权限
  2. LDAP,支持LDAP用户登录

系统配置

Job页面

配置首页只有目录,这些目录的名称是有规范的,以Dir开头,前后端标识,正式测试端标识,以'_'分隔,用于权限管控时配置。

这些具体的Job属于指定的目录,名称也有规范。项目名开头,前后端标识,正式测试端标识,以'_'分隔。前端Job保存在前端目录中,也是以这种方式。

基于角色的授权策略

Manage Roles

配置权限,

Read more

Jenkins_CICD_实现构建即自动测试


需求 & 背景

将自动化测试集成到Jenkins中,最终实现每次构建部署时自动完成基础测试

因为在日常的部署中,有出现Pod和容器正常启动,但运行报错,导致服务不可用的情况。而CI/CD的频率较高,单个项目一天可能更新三到四次,从成本角度来说无法实现每次更新后都有测试工程师进行覆盖。这种情况从运维角度来解决无非是监控指定端口能否访问,但这样实际是脱离业务的,毕竟如果用户访问不了,一切白搭。

翻看了百度和Google的资料,并没有发现能解决该痛点的解决方案。最常见的方案通常是测试工程师从他们的windows本机部署Jenkins使用脚本来完成测试(环境在本机已经配置好)。参考过同事,他

Read more

Jenkins_集成_与dingtalk集成实现构建即推送钉钉消息


与dingtalk(钉钉)集成

  1. 下载'DingTalk'插件:点击Jenkins'系统管理','插件管理',搜索'DingTalk'
  2. 钉钉添加机器人:进入一个群组,点击'群设置',点击'智能群助手'后'添加机器人',选择'自定义(通过webhook接入自定义服务)' 钉钉创建机器人
  3. 修改'DingTalk'插件配置:在Jenkins'系统管理','系统管理'中,修改配置如下: Jenkins系统配置
  4. 修改Job配置以根据需要自动发送钉钉推送,自定义内容遵循markdown格式 Job任务配置
  5. 实现效果Job集成钉钉实现效果

Read more

Jenkins_CICD_Pipeline工作流


虽然Jenkins推荐的最佳实践是使用Pipeline,但由于Pipeline是将Jenkginsfile侵入到代码中。当项目数量较多时,其实不太方便管理,所以我还是倾向将所有构建由Jenkins来完成(我收回这句话,所以的Jenkinsfile可以统一在一个项目中进行管理,且根据项目不同使用不同的Jenkinsfile),但我还是示范一个Pipeline让大家体验一下。不推荐直接用我的模板,每个公司的流程可能略有不同,需要根据实际情况调整。

pipeline {
    agent any
    tools {
        maven "Maven3.8.2"
  

Read more

Jenkins_CICD_实现CI/CD流程


部署

所有服务均以docker或者kubernetes运行。

$ docker run -d --name jenkins-server -p 8005:8080 -v /usr/local/wlhiot/mount/jenkins:/var/jenkins_home 192.168.254.29:8001/library/jenkins:2.289.3

在宿主机创建1000权限的目录并挂载,正常运行后浏览器输入127.0.0.1:8005访问Jenkins服务。

查看宿主机的/usr/local/wlhiot/mount/jenkins/secrets/initialAdminPassw

Read more