This role provides production grade installation and deployment workflow for nodejs, tomcat, play, springboot, symfony and static files.
Here are the main variables that should be set :
# Project name. This is also the base path of the project installation and the system user used to manage the project.
# Default is default_project.
steamengine_project_name: "default_project"
# Project type, should be a value in "static", "springboot", "nodejs", "tomcat", "play".
# No default value but mandatory
steamengine_project_type:
# Url of the build that will be deployed.
# No default value and not mandatory. Nothing will be deployed if missing.
steamengine_build_url:
# Checksum of the build. Should be in the following format : "<algorithm>:<checksum>"
# No default value, mandatory if steamengine_build_url is set.
steamengine_build_checksum:
# Project configuration.
# No default value and not mandatory.
steamengine_project_configuration:
# Name of the project default configuration file.
# File content is merged with steamengine_project_configuration variable.
# Variables defined in steamengine_project_configuration override those defined in the base file.
# Used only for tomcat and springboot project type
# No default value and not mandatory.
steamengine_project_configuration_base_name:
# Public ssh keys that will be added to the project user.
# Default is empty.
steamengine_project_ssh_keys: []
# If you want use PM2 from a specific version of node install with nvm
# Do not declare, if you want use classic PM2 binary.
steamengine_project_nvm_version: v18.17.0
Examples for different project types can be found under the molecule folder:
This role use the molecule framework in order to simplify the development process.
Requirements:
Setup your local environnement with python virtualenv prior to using molecule : . venv.sh
This command will create a virtual env, activate it and download python dependencies.
Use molecule converge -s <project_type>
to create a local environnement and molecule login -s <project_type>
to log into the test machine.
Before any commit ensure that every test are passing with molecule test --all
BSD
Steamulo - www.steamulo.com