You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/hcc.md
+34-10Lines changed: 34 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
# NOTE: this document is a work in progress and should not be considered authoritative.
2
+
1
3
# Change Control with Embedded Git for Health Connect Cloud
2
4
3
5
## Glossary
@@ -32,20 +34,27 @@ A Health Connect Cloud Dev deployment will have at least one Protected Namespace
32
34
33
35
# Customer Responsibilities
34
36
35
-
# Example Use Case 1: Inbound HL7 Service
37
+
##Example Use Case 1: Inbound HL7 Service
36
38
> As a Health Connect Cloud user, I want to add a new inbound HL7 service to receive HL7 messages from a lab.
37
39
38
40
- Log in
39
41
- Go to production configuration page for your User Namespace
40
42
- Create an interface branch
41
-
- Add the service
42
-
- Test the service
43
+
- Add and test the service
43
44
- Sync: After this operation, the User Namespace has everything from the Protected Namespace in addition to changes made in the interface branch, and all of the modified files have been pushed to GitLab.
44
45
- Technical level for the git-savvy: this commits to the interface branch locally, rebases the interface branch on the latest state of the development branch, updates the User Namespace with any changes made as a result, and force pushes the interface branch out to GitLab.
45
-
- Click the link to create a merge request
46
-
- Have the merge request approved and merged to the development branch
47
-
- CI/CD deploys to the Protected Namespace on the Dev deployment OR use Git Pull page
46
+
- Click the link to create a merge request targeting the `development` branch
47
+
- Have the merge request approved and merged to the `development` branch
48
+
- CI/CD deploys to the Protected Namespace on the Dev deployment
48
49
- Test in the Protected Namespace on the Dev Deployment
50
+
- Create a merge request from your interface branch to the `test` branch
51
+
- Have the merge request approved and merged to the `test` branch
52
+
- CI/CD deploys to the Protected Namespace on the Test deployment
53
+
- Test in the Protected Namespace on the Test deployment
54
+
- Create a merge request from your interface branch to the `live` branch
55
+
- Have the merge request approved and merged to the `live` branch
56
+
- CI/CD deploys to the Protected Namespace on the Prod deployment
57
+
- Done!
49
58
50
59
### Interface Branches
51
60
@@ -55,11 +64,11 @@ The first step in making changes in Health Connect Cloud using Embedded Git is m
55
64
56
65
You will be prompted to enter a name for your new branch (no spaces or special characters), after which your environment will switch to that new branch. All new branches are fresh copies of the development branch. We recommend that you name branches descriptively based on a reference to the issue/bug that you are trying to fix - a GitLab issue number, Jira, ServiceNow ticket reference, etc.
57
66
58
-
### Making Changes
67
+
### Add and Test the Business Service
59
68
60
69
Now that you are in your new branch (you can see your current branch in the first item in the source control menu), you can start making changes. As you make changes to different business processes, rules, and productions, make sure that all of these changes are saved properly before you continue to sync and merge.
61
70
62
-
### Syncing and Merge Requests
71
+
### Syncing
63
72
64
73
Once you have made all the changes for the specific feature you are working on, and have tested in your namespace, it will be time to merge all of these changes into the development branch.
65
74
@@ -73,10 +82,24 @@ This will bring up the sync interface, where you are able to see all the of the
73
82
74
83
Use the link in the output of the sync in order to create a merge request in the git remote (don't worry if you close out of the sync tab, you can also navigate to GitLab manually). Here, you should make sure that you are merging your interface branch into the development environment, and notify / add the relevant reviewers. Once this merge request is approved, it will be merged into the development branch, so that all of your changes will now be a part of development.
75
84
85
+
### Merge Request Creation
86
+
87
+
### Merge Request Approval
88
+
89
+
### CI/CD Deployment
90
+
91
+
### Validate in Protected Namespace
92
+
93
+
### Repeat in Test and Prod
94
+
95
+
## Example Use Case 2: You Get Interrupted
96
+
76
97
### Switching Branches
77
98
78
99
Suppose you begin working on a larger project in one branch, and then need to shift to something else. The proper approach to this in Embedded Git is to commit your in-progress work on the first interface, and then to switch to a new branch. This branch will be based on the development branch and may be missing components from the first project, but that's OK. You can always switch back to the first interface branch to continue work there.
79
100
101
+
## Example Use Case 3: Onboarding a New User
102
+
80
103
### Configuring Git on a New Namespace
81
104
82
105
When creating a new namespace on the Health Connect instance, you will need to ensure that the Git configuration matches that in other namespaces. The steps to do so are:
@@ -110,10 +133,11 @@ With CI/CD pipelines in place, the most important thing is that there is a branc
110
133
111
134
This guide provides step-by-step instructions for developers on how to perform code changes and move code from a local repository to a target environment using a Change Control tool based on VSCode and GitLab.
112
135
113
-
## Persona: Developer
136
+
## Fallback Approach: VSCode and a Local Git Repository
114
137
115
-
> Example Use Case: As a Interface Engineer, I want to create a new Adapter to a Production and configure it with a new DTL class created via VSCode.
138
+
> As a Health Connect Cloud user, I want to add a new inbound HL7 service to receive HL7 messages from a lab.
116
139
140
+
TODO: note about not mixing this approach with Embedded Git
117
141
118
142
### **(*Optional*) Create an Issue**
119
143
- If necessary, create an issue in GitLab to describe the work to be done and document any requirements. This can help track progress and serve as a reference for the changes made.
0 commit comments