DeployBoard / DeployBoard/deployboard-python
Add the concept of a 'stage'
- Dominant language
- Python
- Stars
- 10
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
We currently have a 'status' that indicates if a Service is being deployed, but we would also like to be able to indicate the progress of the Deployment pipeline through the various stages. Many deployments have some form of a Pipeline that might be as simple as `stages = ['build', 'deploy']` while some are much more complicated such as `stages = ['lint', 'test', 'build_docker_image', 'push_image_to_ecr', 'create_new_task_definition_version', 'update_service_with_new_task_definition_version', 'force_new_deployment_on_ecs_service', 'smoke_test', 'regression_test', 'completed']`
While it is nice to have a status of 'Deploying' it would be more helpful to see what stage of the pipeline the deployment is at.
Tracking the stages also allows us to log how long each stage typically takes and graph it over time for easier viewing of where bottlenecks may occur within the pipeline itself, and give the user the knowledge to target those stages for improvement.
I see this being an extra field in the log, as well as being a field item in the service as well.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by locating the Service model, deployment status handling, and log-writing entry points, then trace how a deployment progresses through its pipeline. Done means stages can be represented on the service and in deployment logs, with stage timing available for bottleneck tracking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker, python
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100