当前位置:   article > 正文

github 与 Jenkins 集成_jenkins连接github

jenkins连接github

要实现在某个 GitHub 分支有提交时,发送通知给你的 Jenkins 服务器,并自动运行单元测试,然后将测试结果返回给 GitHub,可以按照以下步骤操作:

配置 Jenkins 和 GitHub 的集成

  1. 安装插件: 在 Jenkins 中安装适合的插件来与 GitHub 集成,比如 GitHub 插件或者 GitHub Integration 插件。这些插件可以帮助 Jenkins 与 GitHub 之间建立通信。

  2. 设置 Webhook: 在 GitHub 项目的设置中,配置 Webhook 来通知 Jenkins。在 GitHub 项目的 Settings -> Webhooks 中添加一个新的 webhook:

    • Payload URL 设置为 Jenkins 的触发 URL(比如 http://your-jenkins-server/github-webhook/)。
    • Content type 选择 application/json
    • 选择发送的事件类型,通常选择 push 事件,这样当有新的提交时会触发 Jenkins。

编写 Jenkins Job

  1. 创建 Jenkins Job: 在 Jenkins 中创建一个新的 Freestyle 或者 Pipeline Job,用于处理 GitHub 的 Webhook 触发事件。

  2. 配置 Jenkins Job

    • 在 Job 的配置中,选择触发器(Trigger),配置为 GitHub hook trigger for GITScm polling,或者使用 GitHub Pull Request Builder 插件等。
    • 添加构建步骤,比如拉取最新代码、运行单元测试等。

配置测试结果返回给 GitHub

  1. 设置测试报告: 在 Jenkins Job 中,配置测试步骤,确保生成测试报告(比如 JUnit XML 格式)。

  2. 使用 GitHub 插件: 如果你使用 GitHub 插件,它会自动处理构建状态和测试结果的更新到 GitHub 上。

示例 Pipeline 配置(Jenkinsfile)

如果你选择使用 Pipeline 来定义 Jenkins Job,示例 Jenkinsfile 可能如下所示:

  1. pipeline {
  2. agent any
  3. stages {
  4. stage('Checkout') {
  5. steps {
  6. // 拉取代码
  7. checkout scm
  8. }
  9. }
  10. stage('Unit Test') {
  11. steps {
  12. // 运行单元测试
  13. sh 'mvn test'
  14. }
  15. post {
  16. // 收集并发布测试报告
  17. junit '**/target/surefire-reports/*.xml'
  18. }
  19. }
  20. }
  21. // 配置 GitHub 插件以更新状态
  22. post {
  23. success {
  24. // 测试通过时更新 GitHub 状态为成功
  25. githubNotify(
  26. status: 'SUCCESS',
  27. description: 'Unit tests passed!'
  28. )
  29. }
  30. failure {
  31. // 测试失败时更新 GitHub 状态为失败
  32. githubNotify(
  33. status: 'FAILURE',
  34. description: 'Unit tests failed!'
  35. )
  36. }
  37. }
  38. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/952096
推荐阅读
相关标签
  

闽ICP备14008679号