[Megoldva] Gitlab repo push githubrol

Fórumok

Sziasztok!

 

Importaltam egy Github repot On-Prem gitlab szerverunkre. Milyen modon tudom a repot pusholni a githubrol? (ha frissul) Van ugye a mirror mode, de az enterprise feature (push-hoz) 

 

Ti ezt hogy csinaljatok community serverrel?

 

En ezt talaltam: https://gitlab.com/gitlab-org/gitlab/-/issues/330243

 

https://forum.gitlab.com/t/refreshing-a-fork/32469/1

 

Ha jol ertem, 15.9 tol lesz elerheto?

Hozzászólások

Szerkesztve: 2023. 02. 10., p – 18:07

Neztem ezt a command-ot is, de nem vilagos, ezt gitlab-ban hol futtassam...

git remote add upstream https://gitlab.com/upstream_user_group/project.git || true && git fetch upstream && git checkout main && git pull upstream main && git push origin main

Probaltam a gitaly linken futtatni de ezt kapom:

 

fatal: this operation must be run in a work tree

A git remote -v mit mond?
 

Gondolom csak a saját onprem gitlab szervered van benne. Ha igen, akkor vedd fel a github-os repót is. upstream helyett adhatsz neki más nevet is:

git remote add github https://github.com/….git

Ha ez megvan, a git remote -v -nek mutatnia kell mindkét remote-ot.

Ah, én most értettem meg, mit csinálsz. 

Nem fog menni. A checkout csak "user" jellegű git repoban fog menni (erre mondja, hogy kell working tree), a gitaly "szerver" módú (gitesen bare) repojában nem.

Kösd be CI-ba. Kell hozzá egy runner, de annál egyszerűbben nem oldod meg. Vagy valaki kézzel megfuttatja ezt a parancsot valahol rendszeresen. 

Nálunk van egy ilyen gitlab-ci job, és schedule-ből fut:

sync_datatools_server_github:
  image: <some-image-with-git>
  script:
    - git clone https://github.com/ibi-group/datatools-server.git
    - cd datatools-server
    - git remote add local https://deploy:$DEPLOY_GITLAB_PASSWORD@gitlab.local/datatools-server.git
    - git push local --all
    - git push local --tags

persze ez csak akkor megy, ha a localban nem változik semmi.

Nyoah, igen, de ha megvan a gitlab, mint céges eszköz, akkor érdemes oda tolni - hiszen ott van backup, ott van jogosultság kezelés, egyebek. 

Oda viszont nem megy a git pull, kell hozzá még a fenti 3-4 lépés (meg akkor a crontab mentése is pluszegy nyűg).

Nem nagy was-ist-das, de mégis. 

Ezt kapom ha futtatom. Image-nek a gitlap-runner image-et hasznalok elv abban van git. (megneztem, git --version szepen megjelenik)

 

Running with gitlab-runner 15.8.2 (4d1ca121)
  on docker EH9tvSUx, system ID: r_y3jEhmF8fN58
Preparing the "docker" executor
00:03
Using Docker executor with image gitlab/gitlab-runner:latest ...
Pulling docker image gitlab/gitlab-runner:latest ...
Using docker image sha256:33f13ba88111b65bde9e50a94f5b787797bf261e861c15d3da65bc55d6e3e21e for gitlab/gitlab-runner:latest with digest gitlab/gitlab-runner@sha256:3c0e28856fbc84fc70767a719ccdcdf35249e46cbc50cfc5b192a39429b87d87 ...
Preparing environment
00:01
Running on runner-eh9tvsux-project-39-concurrent-0 via 722faeddd326...
Getting source from Git repository
00:04
Fetching changes with git depth set to 20...
Reinitialized existing Git repository in /builds/login_group/ease_rosenberger/.git/
Checking out dcd9c6a4 as dev...
Skipping Git submodules setup
Executing "step_script" stage of the job script
00:01
Using docker image sha256:33f13ba88111b65bde9e50a94f5b787797bf261e861c15d3da65bc55d6e3e21e for gitlab/gitlab-runner:latest with digest gitlab/gitlab-runner@sha256:3c0e28856fbc84fc70767a719ccdcdf35249e46cbc50cfc5b192a39429b87d87 ...
Runtime platform                                    arch=amd64 os=linux pid=7 revision=4d1ca121 version=15.8.2
FATAL: Command sh not found.                       
ERROR: Job failed: exit code 1

Szerk:

 

Mergvan!!

 

Kiderult hogy nem hasznalhatom a gitlab-runner image-t erre, mert az az image, amibol a runner keszul, nem hasznalhato. Szoval leszedtem egy alpine/git image-et. Eloszor hibara futott (nem talalta a shell-t), kellett bene egy  entrypoint: [""] az image parameterekhez. Most mar jo :) 

(maga a pull meg nem megy, mert nem jo a jelszo a gitlabhoz, de ez mar csak reszletkerdes :D :D )

(btw a gitea-ban ez ingyen adott "mirror" néven, mindenféle külön ügyeskedés nélkül -más területen persze jóval kevesebbet tud)