Continuous integration 如何使用git hub操作将新构建发送到repo?
这有点不合常规,但我正在尝试设置一个涉及3次回购的自动化测试套件;iOS/android应用程序repos和另一个用于使用appium的python测试的应用程序。一切都是手动工作的,但现在我们想用github操作或circleci来设置它 这是我心目中理想的工作流程;我们的前端开发人员在GH上创建了一个新版本,该版本发送一个触发器,该触发器创建一个新的应用程序构建,然后触发将在该新构建上运行测试的测试repo 我已经能够通过GHA repo dispatch设置工作流,其中一个repo操作会在不同的repo上触发某些内容,但我无法弄清楚的是如何将新构建从一个repo转移到另一个repo。有可能吗?如果不是,有没有其他方法将新的应用程序构建到我的测试repo中Continuous integration 如何使用git hub操作将新构建发送到repo?,continuous-integration,appium,circleci,github-actions,Continuous Integration,Appium,Circleci,Github Actions,这有点不合常规,但我正在尝试设置一个涉及3次回购的自动化测试套件;iOS/android应用程序repos和另一个用于使用appium的python测试的应用程序。一切都是手动工作的,但现在我们想用github操作或circleci来设置它 这是我心目中理想的工作流程;我们的前端开发人员在GH上创建了一个新版本,该版本发送一个触发器,该触发器创建一个新的应用程序构建,然后触发将在该新构建上运行测试的测试repo 我已经能够通过GHA repo dispatch设置工作流,其中一个repo操作会在
我是一名初级开发人员,这是我第一次尝试建立持续集成,因此非常感谢您的帮助 要让您的测试存储库知道它应该测试什么,您可以在触发
存储库调度时将发布的git commit SHA发送给它
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.PAT }}
repository: org/test-repo
event-type: my-event
client-payload: '{"sha": "${{ github.sha }}"}'
然后,您可以在测试存储库工作流中签出该SHA并对其进行测试
name: Repository Dispatch
on:
repository_dispatch:
types: [my-event]
jobs:
myEvent:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PAT }}
repository: org/build-repo
ref: ${{ github.event.client_payload.sha }}
请注意,在这两个工作流中,您都需要使用repo
范围
通常,最好在发布构建工件之前对其进行测试。因此,您可能需要考虑稍微重新设计,以便在管道的早期运行测试。可能是在推送到主服务器上,或者在请求分支合并到主服务器之前测试它们。要让您的测试存储库知道它应该测试什么,您可以在触发存储库调度时将发布的git commit SHA发送给它
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.PAT }}
repository: org/test-repo
event-type: my-event
client-payload: '{"sha": "${{ github.sha }}"}'
然后,您可以在测试存储库工作流中签出该SHA并对其进行测试
name: Repository Dispatch
on:
repository_dispatch:
types: [my-event]
jobs:
myEvent:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PAT }}
repository: org/build-repo
ref: ${{ github.event.client_payload.sha }}
请注意,在这两个工作流中,您都需要使用repo
范围
通常,最好在发布构建工件之前对其进行测试。因此,您可能需要考虑稍微重新设计,以便在管道的早期运行测试。可能是在推送到主服务器上,或者在请求分支合并到主服务器之前测试它们。谢谢!我猜它在公关、推送大师等方面也同样有效?谢谢!我猜它在公关、推送大师等方面也有类似的效果?