Home

Awesome

Serverless Git Commit Tracker

This plugin creates an operating system file containing the current git commit version. It also has the ability to update an existing file with the current git commit version.

Getting Started

1. Install the plugin

npm install serverless-git-commit-tracker --save-dev

2. Add the plugin to your serverless.yml file

plugins:
  - serverless-git-commit-tracker
  
 custom:
   gitCommitTracker:
     location: ./version.txt

The location key tells Git Commit Tracker where it should write the file.

Now, when you deploy your project a new file will be created with the current git commit version. Note: This file is created after you commit to git so the newly created file will not be part of the referenced git commit.

Additional Directives

Deployment

 custom:
   gitCommitTracker:
 	location: ./version.txt
 	deployment:
 	  - dev
 	  - production
 	  - qa

Without the deployment directive the version file is created for every deployment. With the deployment directive the version file is created only for deployments matching the list following the directive. For example, sls deploy --stage production will result in the version file being created. However, sls deploy --stage test will NOT create the version file.

HTML

custom:
	deploymentTracker:
	  location: ./version.txt
	  deployment:
		- dev
		- production
		- qa
	  html: true

The default behavior is to create a text file with line feeds. However, the html directive replaces the line feeds with html <br/> elements.

REGEX

custom:
	deploymentTracker:
	  location: ./version.txt
	  deployment:
		- dev
		- production
		- qa
	  html: true
	  regex: '(<span>).*(<\/span>)'

The regex directive allows you to replace a stub in an existing file. This is useful if you have an HTML file and you want to only update a given section with the version information. The regex expression uses backreferences to keep the beginning and ending markers in the file for replacement next time. Therefore, the regex expression must contain parentheses around both the beginning and ending markers. In the above example, the <span> elements will be used as the markers.

Commands

gitTrackerCreate

It is also possible to create the version file using a command: sls gitTrackerCreate will create the same file as deployment would have created.

###gitVersion sls getCommitVersion will return the current git commit version on the command line