mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.2 KiB
85 lines
2.2 KiB
# Helm-DM Workflow Diagrams
|
|
|
|
# Helm Official
|
|
@startuml helm-official-workflow.png
|
|
autonumber
|
|
actor Member
|
|
actor Core
|
|
participant GitHub
|
|
participant CI
|
|
database Repository
|
|
Member->GitHub: PR New Chart
|
|
GitHub->CI: Run automated tests
|
|
CI->GitHub: Tests pass
|
|
GitHub-->Member: Tests pass
|
|
GitHub-->Core: Tests pass
|
|
Core<->Member: Discussion about chart
|
|
Core->GitHub: Code review
|
|
Core->GitHub: Release approval
|
|
GitHub->CI: Issue release
|
|
CI->Repository: Push release
|
|
Member->Repository: Get release
|
|
@enduml
|
|
|
|
# Public Chart Repository
|
|
An example workflow using Launchpad and BZR.
|
|
@startuml public-chart-repo.png
|
|
autonumber
|
|
actor Developer
|
|
actor Maintainer
|
|
participant Launchpad
|
|
Developer->Launchpad: Push branch with chart
|
|
Maintainer->Launchpad: Fetch branch
|
|
Maintainer->Maintainer: Locally test
|
|
Maintainer->Launchpad: Merge branch
|
|
... later ...
|
|
Maintainer->Launchpad: Create global release
|
|
Maintainer->Maintainer: Regenerate all versioned charts
|
|
Maintainer->Repository: Push charts
|
|
@enduml
|
|
|
|
# Private chart repository
|
|
An example workflow using an internal Gerrit Git repo and Jenkins.
|
|
@startuml private-chart-repo.png
|
|
autonumber
|
|
actor "Developer A" as A
|
|
actor "Developer B" as B
|
|
actor "Internal user" as Internal
|
|
participant Gerrit
|
|
participant Jenkins
|
|
participant "Docker registry" as Docker
|
|
participant "Chart repository" as Chart
|
|
A->Gerrit: Clone repo
|
|
A->A: Local development
|
|
A->Gerrit: Push branch
|
|
Gerrit->Jenkins: Test branch
|
|
Jenkins->Jenkins: Build and test
|
|
Jenkins->Docker: Snapshot image push
|
|
Jenkins->Chart: Snapshot chart
|
|
Jenkins->Jenkins: Integration tests
|
|
Jenkins-->A: Build OK
|
|
B->Gerrit: Code review
|
|
B->A: Code approval
|
|
A->Gerrit: Tag the new chart
|
|
Gerrit->Jenkins: Release
|
|
Jenkins->Jenkins: Build and test
|
|
Jenkins->Docker: Production image push
|
|
Jenkins->Chart: Production chart
|
|
Internal->Chart: Get production chart
|
|
@enduml
|
|
|
|
# Private Charts without repository
|
|
An example using SVN for local dev, and no chart repository.
|
|
@startuml private-chart-no-repo.png
|
|
autonumber
|
|
actor "Developer A" as A
|
|
actor "Developer B" as B
|
|
participant SVN
|
|
participant Kubernetes
|
|
A->SVN: Checkout code
|
|
A->A: Develop locally
|
|
A->SVN: Check in code
|
|
B<->SVN: Update local
|
|
B->Kubernetes: Run helm deploy on local chart
|
|
@enduml
|