Newer
Older

Angelina Elizabeth Uno-Antonison
committed
# Production Pipeline Guidelines
The following sections cover what is needed for a pipeline to be considered ready for `production` use.
## Production Ready
- Must be stable
- Must be maintainable
- Follows best practices in coding
- Must set proper file permissions (ie. read only access) to pipeline's most important output files so as to avoid
accidental editing and removal.
### Documentation
Adequate documentation (as described in the [pipeline development](dev-pipeline-guidelines.md#documentation) section)
must be completed, peer-reviewed, and approved
### Source Code Management
Practices laid out in the [pipeline development](dev-pipeline-guidelines.md#source-code-management) section should be
implemented and followed. A pipeline can **ONLY** be moved into production when the project has the following:
- has been peer-reviewed, and approved
- has a testing method included with the project (i.e. a way to run the pipeline end-to-end in order to ensure it runs)
- all code, documentation, testing info, configuration files, etc. are part of the `Master` branch
- a `Tagged` release version of the pipeline has been created (see
<https://stackoverflow.com/a/50442578/2892199> for more information on this process in GitLab)
### Cluster Installation
For installation purposes, only `Tagged` releases of a pipeline will be installed on the cluster in the production
pipeline space. All production pipelines are to be installed under
`/data/project/worthey_lab/projects/production_pipelines/`.