Simple CI config for shell / PHP application


I’m new to Gitlab CI, I used to use Jenkins for continuous integration. However, a few month sago we tried GitLab and because we like it we want to move as much as possible away from external software (currently Jenkins + JIRA + BitBuckets) and have as much as we can on GitLab (GitLab + GitLab Issues / Boards + GitLab CI).

However, I’m having a very hard time to make the CI configuration (gitlab-ci.yml). I’m not using Docker so I want a simple shell execution.

My runners are always up to date because they’re managed through something similar as Chef so all dev / staging / prod environments have the same software.

In Jenkins, this is what I do :
cd /home/jenkins/app001/ git pull origin staging
composer install php artisan migrate
$ ./vendor/phpunit/phpunit/phpunit

That’s all I need. The database is already setup and the PHP Unit Tests set up everything and tear down everything at the end of the process.

I don’t need to test it on different versions etc. and I’m just looking for a quick fix that would work until we move towards a docker setup.

I didn’t find any simple config file example that does this - any help ?