Tim Mackinnon wrote > But I don’t understand how it works on Gitlab The gitlab-smalltalk-ci project performs three roles: 1. The glue which connects Gitlab and smalltalkCI. As a bonus, it does all the necessary in-container work to setup SSH for private Gitlab projects, so you'd just have to create/enable the deploy key in the Gitlab web UI. 2. A Pharo library to create/modify CI artifacts like configuration files. This let's you write Smalltalk like this `GitLabCIConfiguration new smalltalkImageTemplateFor: 'Pharo-6.1'` instead of being forced to remember and write: ```yaml .pharo61_template: &pharo61 variables: SMALLTALK_IMAGE: "Pharo-6.1" ``` 3. An example to adapt for your own project, since it eats its own dog food and is handling its own CI.
Also, note that the initial setup is simplified from smalltalkCI because it uses a Docker image preloaded with all the Pharo dependencies. 1. First, you would create a `.gitlab-ci.yml`. I'm guessing you already know that it is the equivalent to Travis' `.travis.yml`, which is the main hook that the CI system picks up to run whatever you tell it to. If you read it, you will see that it's main job is to install the glue scripts and run the downloaded scripts/build.sh. The bottom ~half is the workaround for matrix builds (for Pharo 6 & 7) in GitlabCI, which are not directly supported. 2. Next, create a `.smalltalk.ston`. This is the main config hook for smalltalkCI. I added some links to the docs in the README. That's really it I think. All this has been tested extensively with real projects, but only on Pharo 6/7 and Ubuntu 32 bit. PRs welcome and feel free to ask more questions! ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html