文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

我让代码,学会了自动评审!提高80%的交付质量!

2024-11-29 21:08

关注

好,那接下来,小傅哥就带着你做下 OpenAI Code Review 的配置,整体配置如下图;—— 下面👇🏻会告诉你在哪配置。

图片

1. 申请 ChatGLM

2. 申请 GitHub 仓库

组件是基于 Github Actions 实现的,所以要提供一个你的 Github 工程库和一个评审 Github 工程库写入日志的日志库。如果你有其他代码库,也可以按照对应代码库的 CI/CD 标准进行实现。

3. 申请 GitHub Token

地址:https://github.com/settings/tokens

图片

4. 微信公众号配置

图片

项目:{{repo_name.DATA}} 分支:{{branch_name.DATA}} 作者:{{commit_author.DATA}} 说明:{{commit_message.DATA}}

5. GitHub Actions 配置

5.1 配置参数

地址:https://github.com/xfg-studio-project/openai-code-review-test/settings/secrets/actions - 换成你的项目工程,进入到 Setting -> Secrets and variables -> Actions -> Repository secrets -> New repository secret

图片

图片

Name

Secret

CHATGLM_APIHOST

https://open.bigmodel.cn/api/paas/v4/chat/completions

CHATGLM_APIKEYSECRET

39580e34e175019c230fdd519817b381.F*****pzqiRDcAk - 使用你的

CODE_REVIEW_LOG_URI

https://github.com/xfg-studio-project/openai-code-review-log - 使用你的

CODE_TOKEN

ghp_KWBsnzwoQR4OXO4o3XjIJjVU****GsS1 - 使用你的

WEIXIN_APPID

wx5a228ff69e2****1f - 使用你的

WEIXIN_SECRET

0bea03aa1310bac050a******8703928 - 使用你的

WEIXIN_TEMPLATE_ID

l2HTkntHB71R4NQTW77UkcqvSOIFqE_bss1DAVQSybc  - 使用你的

WEIXIN_TOUSER

or0Ab6ivwmypESVp_bYuk92T**** - 使用你的

5.2 配置脚本

图片

name: OpenAiCodeReview

on:
  push:
    branches:
      - '*'
  pull_request:
    branches:
      - '*'

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          fetch-depth: 2  # 检出最后两个提交,以便可以比较 HEAD~1 和 HEAD

      - name: Set up JDK 11
        uses: actions/setup-java@v2
        with:
          distribution: 'adopt'
          java-version: '11'

      - name: Create libs directory
        run: mkdir -p ./libs

      - name: Download openai-code-review-sdk JAR
        run: wget -O ./libs/openai-code-review-sdk-1.1.jar https://github.com/xfg-studio-project/openai-code-review-log/releases/download/v1.1/openai-code-review-sdk-1.1.jar

      - name: Get repository name
        id: repo-name
        run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV

      - name: Get branch name
        id: branch-name
        run: echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV

      - name: Get commit author
        id: commit-author
        run: echo "COMMIT_AUTHOR=$(git log -1 --pretty=format:'%an <%ae>')" >> $GITHUB_ENV

      - name: Get commit message
        id: commit-message
        run: echo "COMMIT_MESSAGE=$(git log -1 --pretty=format:'%s')" >> $GITHUB_ENV

      - name: Print repository, branch name, commit author, and commit message
        run: |
          echo "Repository name is ${{ env.REPO_NAME }}"
          echo "Branch name is ${{ env.BRANCH_NAME }}"
          echo "Commit author is ${{ env.COMMIT_AUTHOR }}"
          echo "Commit message is ${{ env.COMMIT_MESSAGE }}"

      - name: Run Code Review
        run: java -jar ./libs/openai-code-review-sdk-1.1.jar
        env:
          # Github 配置;GITHUB_REVIEW_LOG_URI「https://github.com/xfg-studio-project/openai-code-review-log」、GITHUB_TOKEN「https://github.com/settings/tokens」
          GITHUB_REVIEW_LOG_URI: ${{ secrets.CODE_REVIEW_LOG_URI }}
          GITHUB_TOKEN: ${{ secrets.CODE_TOKEN }}
          COMMIT_PROJECT: ${{ env.REPO_NAME }}
          COMMIT_BRANCH: ${{ env.BRANCH_NAME }}
          COMMIT_AUTHOR: ${{ env.COMMIT_AUTHOR }}
          COMMIT_MESSAGE: ${{ env.COMMIT_MESSAGE }}
          # 微信配置 「https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?actinotallow=showinfo&t=sandbox/index」
          WEIXIN_APPID: ${{ secrets.WEIXIN_APPID }}
          WEIXIN_SECRET: ${{ secrets.WEIXIN_SECRET }}
          WEIXIN_TOUSER: ${{ secrets.WEIXIN_TOUSER }}
          WEIXIN_TEMPLATE_ID: ${{ secrets.WEIXIN_TEMPLATE_ID }}
          # OpenAi - ChatGLM 配置「https://open.bigmodel.cn/api/paas/v4/chat/completions」、「https://open.bigmodel.cn/usercenter/apikeys」
          CHATGLM_APIHOST: ${{ secrets.CHATGLM_APIHOST }}
          CHATGLM_APIKEYSECRET: ${{ secrets.CHATGLM_APIKEYSECRET }}

对于这里实现的内容,小傅哥会通过代码实践课程,手把手的给你讲解。从方案设计、代码串联、重构编码,一步步的带着你全部搞懂!

二、能学到啥

公司里其实也总有人做一些这样的创新组件,这些东西和业务没关系,也不是个人的KPI压力,但往往做这样的东西的伙伴就有更多的晋升资格和加薪待遇。因为我就是这个人 哈哈哈 死鬼!

这样的组件项目,本身就是一种技术创新应用来解决实际业务问题,提高交付质量。而不是那种野蛮的一遍遍重写RPC框架。所以学习一套这样的东西是非常有用的。那么在这套东西你可以学习到;

来源:bugstack虫洞栈内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯