How to create a GitLab project

OK, not everyone likes to use GitHub. If you are a GitLab user, the process of setting up a new project is pretty much the same, but there are some minor differences and a come things to fix for now.

(0) Sign into GitLab.

(1) Create a new, empty project without any README or anything else.

NB: If you can authenticate with SSH (Mac or Linux), you need to set /up your SSH credentials. Otherwise, with https, you will need to set a password or a personal access token.

(2) Clone the repo with the GT Git tool.

You should now see your project listed in the Git tool with a red x. If you select it you should see a menu of actions to perform.

(3) Set up the metadata and source directory.

By default this is called src. It is the folder where all your packages will be stored. Just click on Create a source directory and select the checkmark (√).

(4) Set up a package and baseline.

This will create a Baseline package and class with a baseline method to automate loading of your repository. Again, just click and accept.

(5) Set up the project Lepiter database.

This is a dedicated Lepiter notebook database for your project. It is optional, but highly recommended. Just click and be happy!

(6) Review the README

It should contain the snippets you will need to automate loading both your repo and the Lepiter database. It should look something like this:


Metacello new
	repository: 'gitlab://onierstrasz/myproject:master/src';
	baseline: 'Myproject';

Load Lepiter

After installing with Metacello, you will be able to execute
#BaselineOfMyproject asClass loadLepiter

Caveat: If the README displays badly in a web browser, it may be that the newlines are wrong. Edit and save the README using the GitLab web interface to fix this.

(7) Commit.

Commit and push your changes from the Changes tab in the Git tool.

(8) Now you should be able to load your repo into a fresh image by running your version of the load script:

Metacello new
	repository: 'gitlab://onierstrasz/myproject:master/src';
	baseline: 'Myproject';
#BaselineOfMyproject asClass loadLepiter.