ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Beta
ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² GitVerseBeta
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ Π·Π΅ΡΠΊΠ°Π»Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π·Π΅ΡΠΊΠ°Π»Π° Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 8 ΡΠ°ΡΠΎΠ².
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π΅ΡΠΊΠ°Π»Π° ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΡΠΌΠ΅ΡΡΡΠ΅ ΡΠ΅ΠΊΠ±ΠΎΠΊΡ Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π·Π΅ΡΠΊΠ°Π»ΠΎΠΌ.
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π΅ΡΠΊΠ°Π»Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ Π·Π΅ΡΠΊΠ°Π»ΠΎ, ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· GitVerse Π² ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡBeta
ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· GitVerse Π² GitHubBeta
ΠΠ»Ρ Π·Π΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ CI/CD: ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ push Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ git push --force Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub.
git push --force ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° GitHub ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitVerse.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½Π° GitHub ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ Π·Π΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° GitHub Ρ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ
public_repo.ΠΠΊΠ»ΡΡΠΈΡΠ΅ CI/CD Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π·Π΅ΡΠΊΠ°Π»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° GitVerse.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ:
- GH_MIRROR_ACTOR - ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° GitHub.
- GH_MIRROR_REPO - Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² GitHub, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°Π³Π΅ 1.
- GH_MIRROR_TOKEN - GitHub ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°Π³Π΅ 2.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ .gitverse/workflows/ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° GitVerse mirror_to_gh.yaml ΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ:
name: Mirror Repository on: push: branches: - '*' # ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ tags: - '*' # ΠΠ΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ΅Π³ΠΈ jobs: mirror: runs-on: ubuntu-cloud-runner permissions: contents: write # Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ force push steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 # ΠΠΎΠ»Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² - name: Configure Git run: | git config --global user.name "Your Name" git config --global user.email "Your e-mail" - name: Mirror to Remote env: TARGET_REPO: "https://${{ secrets.GH_MIRROR_ACTOR }}:${{ secrets.GH_MIRROR_TOKEN }}@github.com/${{ secrets.GH_MIRROR_ACTOR }}/${{ secrets.GH_MIRROR_REPO }}" run: | # ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ°ΠΊ remote git remote add target $TARGET_REPO # Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅Π³ΠΈ git push --mirror --force targetΠ£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.