jenkins构建codeql

在jenkins上安装codeql插件,这个插件是用来下载codeql的

https://plugins.jenkins.io/codeql/

直接在jenkens插件搜索安装codeql即可

pipeline {
    agent any
    tools { 
        go 'go'  // 确保在 Jenkins 配置中已正确安装 Go 1.19 工具
    }
    stages {
        stage('Build') {
            steps {
                // 输出 Go 版本
                sh 'go version'
            }
        }
        stage('Checkout') {
            steps {
                // 检查 Git 版本
                sh 'git --version'
                echo 'Cloning repository...'
                // 从公共 Git 仓库拉取代码
                sh 'git clone https://github.com/huanglishi/GoFlyAdmin.git'
                // 进入克隆的仓库目录
                dir('GoFlyAdmin') {
                    echo 'Repository cloned successfully.'
                }
            }
        }
        stage('Test CodeQL') {
            steps {
                script {
                    // 使用 CodeQL 插件进行测试
                    withCodeQL(codeql: 'codeql') {
                        // 检查 CodeQL 版本
                        sh 'codeql --version'
                        
                        // 初始化 CodeQL 数据库
                        sh '''
                        codeql database create codeql-database --language=go --source-root=GoFlyAdmin
                        '''
                        
                        // 运行 CodeQL 分析
                        sh '''
                        codeql database analyze codeql-database --format=sarif-latest --output=codeql-report.sarif
                        '''
                    }
                }
            }
        }
    }
    post {
        always {
            // 清理工作区
            cleanWs()
        }
    }
}

updatedupdated2024-06-182024-06-18