-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate Branch & orgs strategy from config #973
Comments
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]
FeatureBranch2[Feature Branch 2]
IntegrationBranch[Integration]
UATBranch[UAT]
HotFixBranch1[HotFix 1]
HotFixBranch2[HotFix 2]
PreprodBranch[Preprod]
MainBranch[Main]
end
FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
IntegrationBranch --> |"RM Merge Request"| UATBranch
UATBranch --> |"RM Merge Request"| PreprodBranch
HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
PreprodBranch --> |"RM Merge Request"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
MainBranch -. "Deploy" .-> MainOrg
PreprodBranch -. "Deploy" .-> PreprodOrg
UATBranch -. "Deploy" .-> UATOrg
IntegrationBranch -. "Deploy" .-> IntegrationOrg
classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
|
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]
FeatureBranch2[Feature Branch 2]
IntegrationBranch[Integration]
UATBranch[UAT]
HotFixBranch1[HotFix 1]
HotFixBranch2[HotFix 2]
PreprodBranch[Preprod]
MainBranch[Main]
end
FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
IntegrationBranch --> |"RM Merge Request"| UATBranch
UATBranch --> |"RM Merge Request"| PreprodBranch
HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
PreprodBranch --> |"RM Merge Request"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
subgraph SalesforceDevOrgs [Salesforce Orgs]
direction TB
SandboxDev1(["Sandbox Dev 1"]):::salesforce
SandboxDev2(["Sandbox Dev 2"]):::salesforce
SandboxHotFix1(["Sandbox HotFix 1"]):::salesforce
SandboxHotFix2(["Sandbox HotFix 2"]):::salesforce
end
MainBranch -. "Deploy to Org" .-> MainOrg
PreprodBranch -. "Deploy to Org" .-> PreprodOrg
UATBranch -. "Deploy to Org" .-> UATOrg
IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg
SandboxDev1 -. Push / Pull .-> FeatureBranch1
SandboxDev2 -. Push / Pull .-> FeatureBranch2
SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
SandboxHotFix2 -. Push / Pull .-> HotFixBranch2
MainBranch --> |Retrofit| IntegrationBranch
classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
|
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]
FeatureBranch2[Feature Branch 2]
IntegrationBranch[Integration]
UATBranch[UAT]
HotFixBranch1[HotFix 1]
HotFixBranch2[HotFix 2]
PreprodBranch[Preprod]
MainBranch[Main]
end
FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
IntegrationBranch --> |"RM Merge Request"| UATBranch
UATBranch --> |"RM Merge Request"| PreprodBranch
HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
PreprodBranch --> |"RM Merge Request"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
direction TB
SandboxDev1(["Sandbox Dev 1"]):::salesforce
SandboxDev2(["Sandbox Dev 2"]):::salesforce
end
subgraph SalesforceDevOrgsHotfix [Salesforce Orgs RUN]
SandboxHotFix1(["Sandbox HotFix 1"]):::salesforce
SandboxHotFix2(["Sandbox HotFix 2"]):::salesforce
end
MainBranch -. "Deploy to Org" .-> MainOrg
PreprodBranch -. "Deploy to Org" .-> PreprodOrg
UATBranch -. "Deploy to Org" .-> UATOrg
IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg
SandboxDev1 -. Push / Pull .-> FeatureBranch1
SandboxDev2 -. Push / Pull .-> FeatureBranch2
SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
SandboxHotFix2 -. Push / Pull .-> HotFixBranch2
MainBranch --> |Retrofit| IntegrationBranch
classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
|
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]:::git-feature
FeatureBranch2[Feature Branch 2]:::git-feature
IntegrationBranch[Integration]:::git-major
UATBranch[UAT]:::git-major
HotFixBranch1[HotFix 1]:::git-feature
HotFixBranch2[HotFix 2]:::git-feature
PreprodBranch[Preprod]:::git-major
MainBranch[Main]:::git-major
end
FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
IntegrationBranch --> |"RM Merge Request"| UATBranch
UATBranch --> |"RM Merge Request"| PreprodBranch
HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
PreprodBranch --> |"RM Merge Request"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
direction TB
SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
SandboxDev2(["Sandbox Dev 2"]):::salesforceDev
end
subgraph SalesforceDevOrgsHotfix [Salesforce Orgs RUN]
SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
end
MainBranch -. "Deploy to Org" .-> MainOrg
PreprodBranch -. "Deploy to Org" .-> PreprodOrg
UATBranch -. "Deploy to Org" .-> UATOrg
IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg
SandboxDev1 -. Push / Pull .-> FeatureBranch1
SandboxDev2 -. Push / Pull .-> FeatureBranch2
SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
SandboxHotFix2 -. Push / Pull .-> HotFixBranch2
MainBranch --> |Retrofit| IntegrationBranch
classDef salesforceDev fill:#9f9ae6,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
classDef git-major fill:#ed375b,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
classDef git-feature fill:#abebc8,stroke:#0070D2,stroke-width:2px,color:whiblackte,font-weight:bold,border-radius:50px
|
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]:::git-feature
FeatureBranch2[Feature Branch 2]:::git-feature
IntegrationBranch[Integration]:::git-major
UATBranch[UAT]:::git-major
HotFixBranch1[HotFix 1]:::git-feature
HotFixBranch2[HotFix 2]:::git-feature
PreprodBranch[Preprod]:::git-major
MainBranch[Main]:::git-major
end
FeatureBranch1 --> |"MR"| IntegrationBranch
FeatureBranch2 --> |"MR"| IntegrationBranch
IntegrationBranch --> |"MR"| UATBranch
UATBranch --> |"MR"| PreprodBranch
HotFixBranch1 --> |"MR"| PreprodBranch
HotFixBranch2 --> |"MR"| PreprodBranch
PreprodBranch --> |"MR"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
direction TB
SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
SandboxDev2(["Sandbox Dev 2"]):::salesforceDev
end
subgraph SalesforceDevOrgsRun [Salesforce Orgs RUN]
SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
end
MainBranch -. "Deploy to Org" .-> MainOrg
PreprodBranch -. "Deploy to Org" .-> PreprodOrg
UATBranch -. "Deploy to Org" .-> UATOrg
IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg
SandboxDev1 -. Push / Pull .-> FeatureBranch1
SandboxDev2 -. Push / Pull .-> FeatureBranch2
SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
SandboxHotFix2 -. Push / Pull .-> HotFixBranch2
MainBranch --> |Retrofits from RUN to BUILD| IntegrationBranch
classDef salesforceDev fill:#7aebe7,stroke:#0070D2,stroke-width:2px,color:black,font-weight:bold,border-radius:50px;
classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
classDef git-major fill:#ed375b,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
classDef git-feature fill:#abebc8,stroke:#0070D2,stroke-width:2px,color:whiblackte,font-weight:bold,border-radius:50px
style GitBranches fill:#eef5da,stroke:#333,stroke-width:1px;
style SalesforceOrgs fill:#daf5f3,stroke:#333,stroke-width:1px;
style SalesforceDevOrgs fill:#daf5f3,stroke:#333,stroke-width:1px;
style SalesforceDevOrgsRun fill:#daf5f3,stroke:#333,stroke-width:1px;
|
flowchart LR
subgraph GitBranches [Git Branches]
direction TB
FeatureBranch1[Feature Branch 1]:::git-feature
FeatureBranch2[Feature Branch 2]:::git-feature
IntegrationBranch[Integration]:::git-major
UATBranch[UAT]:::git-major
HotFixBranch1[HotFix 1]:::git-feature
HotFixBranch2[HotFix 2]:::git-feature
PreprodBranch[Preprod]:::git-major
MainBranch[Main]:::git-main
end
FeatureBranch1 --> |"MR"| IntegrationBranch
FeatureBranch2 --> |"MR"| IntegrationBranch
IntegrationBranch --> |"MR"| UATBranch
UATBranch --> |"MR"| PreprodBranch
HotFixBranch1 --> |"MR"| PreprodBranch
HotFixBranch2 --> |"MR"| PreprodBranch
PreprodBranch --> |"MR"| MainBranch
subgraph SalesforceOrgs [Salesforce Orgs]
direction TB
MainOrg(["Production Org"]):::salesforce
PreprodOrg(["Preprod Org"]):::salesforce
UATOrg(["UAT Org"]):::salesforce
IntegrationOrg(["Integration Org"]):::salesforce
end
subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
direction TB
SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
SandboxDev2(["Sandbox Dev 2"]):::salesforceDev
end
subgraph SalesforceDevOrgsRun [Salesforce Orgs RUN]
SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
end
MainBranch -. "Deploy to Org" .-> MainOrg
PreprodBranch -. "Deploy to Org" .-> PreprodOrg
UATBranch -. "Deploy to Org" .-> UATOrg
IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg
SandboxDev1 -. Push / Pull .-> FeatureBranch1
SandboxDev2 -. Push / Pull .-> FeatureBranch2
SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
SandboxHotFix2 -. Push / Pull .-> HotFixBranch2
MainBranch --> |Retrofits from RUN to BUILD| IntegrationBranch
classDef salesforceDev fill:#A9E8F8,stroke:#004E8A,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
classDef salesforce fill:#0088CE,stroke:#004E8A,stroke-width:2px,color:white,font-weight:bold,border-radius:10px;
classDef git-major fill:#FFC107,stroke:#D84315,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
classDef git-main fill:#FF6F61,stroke:#FF6F00,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
classDef git-feature fill:#B5EAD7,stroke:#2E7D32,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
style GitBranches fill:#F4F4F9,stroke:#7C4DFF,stroke-width:1px;
style SalesforceOrgs fill:#E8F5E9,stroke:#1B5E20,stroke-width:1px;
style SalesforceDevOrgs fill:#E1F5FE,stroke:#0288D1,stroke-width:1px;
style SalesforceDevOrgsRun fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px;
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The text was updated successfully, but these errors were encountered: