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

Reply via email to