Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.
/ ci-builder Public archive

Docket Container for php CI/CD with GitTools/GitVersion enabled

License

Notifications You must be signed in to change notification settings

tomgrv/ci-builder

Repository files navigation

Builder/Runner for CI systems

StyleI Docker Licence

Commitizen friendly semantic-release

Buy me a coffee

Docker image

Alpine 3.8 image with :

  • php 7 available as php
  • dotnet core 2.1 available as dotnet

Available development tools:

CI Configuration files

Corresponding config files are provided in folders

Gitlab / Laravel

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 deploy develop and feature branches automaticaly to DEPLOY_BETA url
  • DEPLOY_STAGING to deploy master and release branches automaticaly to DEPLOY_STAGING url
  • DEPLOY_PRODUCTION to deploy master branch on demand to DEPLOY_PRODUCTION url

Nota: the VERSION file at repository root will automaticaly be updated with gitversion's fullsemver value on pipeline start

Gitlab / Node

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: