Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleShort info

This article will tell you how to easily share your GitLab project (as a mirror) with other code management platforms.

Table of Contents

Info

Throughout this tutorial we are using public repository at following location: https://github.com/mkopsnc/beaver. However, you can use any other repository.

Set up a push mirror from GitLab to GitHub

Create personal access token
Anchor
Creating personal token
Creating personal token

Before you can proceed with the setup of mirror, you have to create personal access token:

Set up a push mirror on gitlab.eufus.psnc.pl

  1. Log in to gitlab.eufus.psnc.pl
  2. On the top bar, select Menu > Projects and find your project
  3. On the left sidebar, select Settings > Repository

  4. Expand Mirroring repositories
  5. Enter a Git repository URL

    Tip

    Enter a Git repository URL with this format:


  6. For Password, enter your GitHub personal access token

    Image Modified
  7. Select Mirror repository


    Info

    The mirrored repository is listed. For example:

    Image Modified


How to synchronise with GitHub?

  1. Make some code changes on GitLab and commit it
  2. Log in to gitlab.eufus.psnc.pl
  3. On the top bar, select Menu > Projects and find your project
  4. On the left sidebar, select Settings > Repository

  5. Expand Mirroring repositories
  6. And click refresh button Udpdate now
    Image Modified


    Info

    Such information should appear on the website:

    "The remote repository is being updated..."


  7. Check your repository on github. Changes should be already pushed from ACH GitLab

How to synchronise ITER repository with Gitlab?

Info
titleSynchronise with hoos

Special thanks goes to Karel van de Plassche for providing these steps

Push plugin at ITER is based on: https://github.com/ef-labs/stash-hook-mirror/wiki

  1. Check the push permissions in Settings > Repository > Protected Branches (by default "Maintainer") 
  2. Create a Project Access Token in Settings > Access Tokens. I've given it full permissions (everything ticked). Also put the expiry time on something sane (by default 4 weeks - I just put infinite) and put the role to the permissions of step 1.
  1. Fill in the screen below:

Image Modified

  • Mirror Repo Url needs to be HTTPS, e.g. https://gitlab.eufus.psnc.pl/imas/imaspy.git
  • Username can be anything, as we're using tokens
  • Password the token generated in step 2
  • Refspec can be the default; this brings expected behaviour, e.g. a full mirror 
  • Keep all boxes ticked



The scientific work is published for the realization of the international project co-financed by Polish Ministry of Science and Higher Education in 2019 from financial resources of the program entitled "PMW"; Agreement No. 5040/H2020/Euratom/2019/2

This work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom research and training programme 2014–2020 under grant agreement No 633053. The views and opinions expressed herein do not necessarily reflect those of the European Commission or ITER