开放集成

遵循统一权限控制规则,提供Git仓库URL、用户账号、集成凭据和专属集成配置接口,快速集成IDE、Git客户端、Jenkins,实现持续集成和持续部署,打造立体工具链,助力DevOps。

开始了解

集成Git客户端

iSoftBook支持与Git Bash、Sourcetree、IntelliJ IDEA的VCS等Git客户端集成,访问iSoftBook项目的代码仓库。

  • 应用用户个人账号进行认证访问。
  • 基于平台统一权限控制规则,实行代码仓库访问授权。
  • 区分push和pull权限,保护master分支。
  • 集成Git客户端详细规则和示例请见:代码仓库管理

Jenkins集成概述

iSoftBook平台提供专属的CI/CD集成接口,快捷、安全、双向、无缝集成Jenkins服务器。

iSoftBook CI/CD集成特点:

  • 配置项目专属集成账号,仅能执行本项目代码库的clone和pull操作,不能执行push操作,保障集成过程中平台数据安全。
  • 专属集成账号遵循项目集的权限访问控制规则,无需单独授权,可以访问项目集中的代码仓库,支持规模化、多模块CI/CD集成。
  • 支持配置一个或多个不同功能目的的集成服务器,代码库push操作时,触发CI/CD服务器实时执行。
  • 基于平台统一账号和权限认证,用户直接查阅Jenkins服务器构建状态、日志输出和构建工件,无需Jenkins用户配置和登录。

集成配置核心要点:

  • 设置iSoftBook项目集成账号,并以该账号创建Jenkins凭据,供Jenkins检出iSoftBook代码所用。
  • 设置Jenkins服务器的URL、集成项目名称。
  • 设置Webhook Token,iSoftBook据此安全触发Generic Webhook Trigger。
  • 构建触发时,传递JSON参数:{"ref":"refs/heads/develop","committer":"zhangsan","message":"..."},向CI/CD服务器提供推送的分支、代码提交人和提交消息等参数信息,据此参数化配置Generic Webhook Trigger的Cause字段,实时参数化分支检出和构建。
  • 设置Jenkins服务器的用户名和其API Token,iSoftBook据此访问Jenkins服务器,显示集成构建信息。

Jenkins集成配置

1. iSoftBook集成Jenkins的配置

项目主页中,点击“集成”选项卡,进入CI/CD集成配置页面,点击“新建集成应用”按钮,添加一个新的Jenkins集成配置,具体配置如下图。

持续集成配置执行必要的数据验证,包括iSoftBook集成账号必填、其User ID项目内唯一、API Token长度至少8位。Jenkins存储该账号作为凭据,据此访问iSoftBook,执行代码仓库clone或checkout。

push代码到iSoftBook Git代码库时,iSoftBook基于配置的Jenkins URL和Webhook Token触发Generic Webhook Trigger,启动构建。

2. Jenkins创建iSoftBook凭据

根据iSoftBook集成配置的“iSoftBook集成账号”,在Jenkins系统创建iSoftBook的访问凭据。Jenkins在checkout操作中,提供该凭据,实现Jenkins访问iSoftBook的认证

具体操作路径:Jenkins首页->Manage Jenkins->Security:Manage Credentials,添加iSoftBook访问凭据。

3. Jenkins创建Secret Text触发器凭据

iSoftBook向Jenkins的Generic Webhook Trigger发送触发请求时,采用Secret Text凭据触发Jenkins构建。

具体操作路径:Jenkins首页->Manage Jenkins->Security:Manage Credentials,或者在设置Generic Webhook Trigger时直接新建和设置该凭据。

4. Jenkins创建User API Token

iSoftBook运用Jenkins平台用户的User Name和其API Token作为凭据,访问Jenkins平台获取持续集成构建信息。

具体操作路径:Jenkins首页->Manage Jenkins->Manage Users,打开一个具体用户,点击该用户的“configure”操作项,进入其配置页面, 创建其API Token,并把该API Token填入iSoftBook对应的集成配置项中。

5. Jenkins Generic Webhook Trigger配置

Jenkins创建Pipeline项目,Build Triggers选择Generic Webhook Trigger,并解析和设置iSoftBook触发传递的参数,具体包括:ref、committer、message,分别是分支、提交人和提交消息,配置Token和Cause,支持参数化构建。

运用解析的参数,参数化配置Cause,具体格式规范:$committer:$message,支持iSoftBook解析和显示构建日志。

6. Jenkins Pipeline Script

给出Pipeline Script的示例。checkout操作引用“branch”参数实现参数化构建,引用凭据“isoftbookUserForjenkins”。

                        
pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
               checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '${branch}']], extensions: [],
               userRemoteConfigs: [[credentialsId: 'iSoftBookGradeProj77', name: 'origin', url: 'http://demo1.intellbook.com:8080/GitHub/77.git']]]
            }
        }
        stage('Build') {
            steps {
               bat 'gradle build'
            }
        }
        stage('war') {
            steps {
                bat 'gradle war'
            }
        }

        stage('result') {
            steps {
                archiveArtifacts artifacts: 'build/libs/**/*.war', followSymlinks: false
            }
        }
    }

    post {
        success{
            cleanWs()
        }

        failure{
            archiveArtifacts artifacts: 'build/reports/tests/test-results/*.xml', followSymlinks: false
            cleanWs()
        }
    }
}
                        
                    

Jenkins集成日志

项目主页-“集成”选项卡-“集成消息”栏,实时跟踪Jenkins持续集成的日志信息和执行状态,包括持续集成的状态、时间、工件、控制台输出等信息。

Jenkins Generic Webhook Trigger Cause需要按照格式规范:$committer:$message,进行参数化配置,提供提交人和提交消息信息,iSoftBook方可正确解析和显示日志中的提交人和提交消息。

社区版开放集成

iSoftBook社区版提供简单、快速的开放集成机制。

  • iSoftBook社区版同企业版、旗舰版一样,提供Git仓库URL、用户账号作为开放接口,实施平台统一的认证和权限控制,与Git Bash、Sourcetree、IntelliJ IDEA的VCS等Git客户端集成。
  • iSoftBook社区版运用Git仓库URL、用户账号开放接口,通过"poll scm"、"build periodically"等触发器,实现与Jenkins等CI/CD服务器集成。
  • iSoftBook社区版与Jenkins等服务器集成不需要额外配置,简单便捷,能够满足通常使用。
  • iSoftBook社区版项目主页不提供“持续集成”配置,不提供集成凭据和集成API开放接口。
  • iSoftBook社区版不提供Webhook配置和触发机制。