我如何允許 git 存盤庫(不是 Github)上的所有提交與外部 Github 存盤庫同步,默認情況下或在配置站點時設定?除了每個用戶鏡像遙控器之外的其他東西?客戶端需要主存盤庫的鏡像來進行安全掃描,并且不希望開發人員訪問它。有可以在對 repo 的任何提交時觸發的 webhook,并運行這樣的同步腳本。
uj5u.com熱心網友回復:
有可以在對 repo 的任何提交時觸發的 webhook,并運行這樣的同步腳本。
實際上,由于存盤庫托管在 GitHub 上,因此它可以為此鏡像設定一個GitHub Action專用作業流。
例如, actions/mirroring-repository
用于將存盤庫鏡像到 GitHub、GitLab、BitBucket、AWS CodeCommit 等上的另一個存盤庫的 GitHub 操作。
這將復制所有提交、分支和標簽。
name: Mirroring
on: [push, delete]
jobs:
to_gitlab:
runs-on: ubuntu-latest
steps: # <-- must use actions/checkout before mirroring!
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: pixta-dev/repository-mirroring-action@v1
with:
target_repo_url:
[email protected]:<username>/<target_repository_name>.git
ssh_private_key: # <-- use 'secrets' to pass credential information.
${{ secrets.GITLAB_SSH_PRIVATE_KEY }}
如果源存盤庫不在 GitHub 上,您仍然可以啟動鏡像,但這次不是每次推送。
您可以設定一個在預定的上運行的操作,例如git pull,假設您的外部存盤庫為每 10 分鐘執行一次:
- 可以從互聯網訪問
- 可以生成讀取訪問令牌,作為秘密安裝在您的 cron 作業流程中
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380587.html
