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_KEY
to access target servers. You need to set corresponding public key on all your servers.DEPLOY_BETA
to deploydevelop
andfeature
branches automaticaly toDEPLOY_BETA
urlDEPLOY_STAGING
to deploymaster
andrelease
branches automaticaly toDEPLOY_STAGING
urlDEPLOY_PRODUCTION
to deploymaster
branch on demand toDEPLOY_PRODUCTION
url
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_TOKEN
to package & publishmaster
branch on https://npmjs.comGITHUB_TOKEN
to package & publishmaster
branch on https://github.com automaticalyGITLAB_TOKEN
to package & publishmaster
branch on https://gitlab.com automaticaly