Alpine 3.8 image with :
- php 7 available as
php - dotnet core 2.1 available as
dotnet
Available development tools:
- Composer Package Manager available as
composer(v2.0) - GitTools/GitVersion available as
dotnet-gitversion(latest) - squizlabs/PHP_CodeSniffer available as
phpcs - Node Package Manager available as
npm
Corresponding config files are provided in folders
Deployment is handled with lorisleiva/laravel-deployer package.
Some variables to set in Gitlab CI variable folder:
SSH_PRIVATE_KEYto access target servers. You need to set corresponding public key on all your servers.DEPLOY_BETAto deploydevelopandfeaturebranches automaticaly toDEPLOY_BETAurlDEPLOY_STAGINGto deploymasterandreleasebranches automaticaly toDEPLOY_STAGINGurlDEPLOY_PRODUCTIONto deploymasterbranch on demand toDEPLOY_PRODUCTIONurl
Nota: the VERSION file at repository root will automaticaly be updated with gitversion's fullsemver value on pipeline start
Publishing is handled with release-it package File can be referenced within every gitlab project:
include:
- project: 'tomgrv/ci-builder'
ref: master
file: '/templates/node/.gitlab-ci.yml'Package.json is parsed for GitVersion_* variable replacement before each job:
{
"name": "package-name",
"version": "${GitVersion_SemVer}",
"description": "This is package Description for version ${GitVersion_InformationalVersion}",
"main": "src/index.js",
...
}Some variables to set in Gitlab CI variable folder:
NPM_TOKENto package & publishmasterbranch on https://npmjs.comGITHUB_TOKENto package & publishmasterbranch on https://github.com automaticalyGITLAB_TOKENto package & publishmasterbranch on https://gitlab.com automaticaly