Commit d9e304f1a673bebc9cc759e0b36ef220d9800a51

Authored by Melissa Wen
2 parents 0e1df5b3 3dba9c91

Merge branch 'master' of http://softwarepublico.gov.br/gitlab/softwarepublico/articles

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -101,10 +101,10 @@ the worst political crisis after the re-democratization in Brazil. @@ -101,10 +101,10 @@ the worst political crisis after the re-democratization in Brazil.
101 101
102 ![Deployment Pipeline](figures/pipeCD.png) 102 ![Deployment Pipeline](figures/pipeCD.png)
103 103
104 -The figure represents our CD pipeline: it starts with new code arriving  
105 -which is tested and improved during as necessary as it goes through each one  
106 -of the steps until finally reaches the production environment. At this point  
107 -we get back to the first stage to release more new code. 104 +The figure represents our CD pipeline. The pipeline started when new code arrived.
  105 +As it went through each step, it was tested and improved until it finally reached
  106 +the production environment. At this point we got back to the first stage to release
  107 +more new code.
108 108
109 ### Automated tests 109 ### Automated tests
110 110
@@ -122,13 +122,13 @@ we moved to preparing the release. @@ -122,13 +122,13 @@ we moved to preparing the release.
122 ### Preparing a new release 122 ### Preparing a new release
123 123
124 Our release process was divided in two perspectives in terms of Git tags: the 124 Our release process was divided in two perspectives in terms of Git tags: the
125 -application and the SPB Portal. The application tag refers to the specific  
126 -feature or bug fix and is a monotonically increasing. A new tag on any system 125 +application and the SPB Portal. The application tag referred to the specific
  126 +feature or bug fix and was a monotonically increasing. A new tag on any system
127 yielded a new SPB Portal tag. 127 yielded a new SPB Portal tag.
128 128
129 When all tests passed for a given component, we manually created a new 129 When all tests passed for a given component, we manually created a new
130 application tag for it. As a consequence, that automatically created a new tag 130 application tag for it. As a consequence, that automatically created a new tag
131 -for the SPB Portal. Notice that we forked of the original software projects 131 +for the SPB Portal. Notice that we forked the original software projects
132 and, as consequence, we had different tag values. 132 and, as consequence, we had different tag values.
133 133
134 ### Packaging 134 ### Packaging
@@ -145,24 +145,23 @@ reasons: @@ -145,24 +145,23 @@ reasons:
145 outdated; 145 outdated;
146 * Packaging makes it easy to manage the software on a given distribution; 146 * Packaging makes it easy to manage the software on a given distribution;
147 * It simplifies the deployment; 147 * It simplifies the deployment;
148 -* Packaging follows the distributions best practices and, 148 +* Packaging follows the distribution's best practices and,
149 * Allows configurations and permissions control. 149 * Allows configurations and permissions control.
150 150
151 After creating a new tag for one component, the DevOps team was notified and 151 After creating a new tag for one component, the DevOps team was notified and
152 -the packaging process began. In the normal case, the three packaging steps  
153 -aforementioned were fully automated by a set of scripts. With all these scripts  
154 -running successfully, the new packages would be ready to use by our subsequent  
155 -deployment scripts. 152 +the packaging process began. The three packaging steps aforementioned were fully
  153 +automated by a set of scripts. With all these scripts running successfully,
  154 +the new packages would be ready to be used by our subsequent deployment scripts.
156 155
157 ### Validation Environment Deployment 156 ### Validation Environment Deployment
158 157
159 The Validation Environment (VE) is a replica of the Production Environment 158 The Validation Environment (VE) is a replica of the Production Environment
160 (PE), with two exceptions: only the government officers and us had access to it 159 (PE), with two exceptions: only the government officers and us had access to it
161 -as well as all the data is anonymised. To configure the environment, we used 160 +and all the data is anonymised. To configure the environment, we used
162 our configuration management tool: Chake (serverless configuration with Chef). 161 our configuration management tool: Chake (serverless configuration with Chef).
163 That maintained environment consistency simplifying the deployment process. 162 That maintained environment consistency simplifying the deployment process.
164 -Additionally, the packages we built on the last step were readily available to  
165 -use by the management tool. 163 +Additionally, the packages we built on the last step were readily available to be
  164 +used by the management tool.
166 165
167 The VE was used by the government agents to validate new features and required 166 The VE was used by the government agents to validate new features and required
168 changes. Also, the VE was useful to verify the integrity of the entire portal 167 changes. Also, the VE was useful to verify the integrity of the entire portal
@@ -170,19 +169,18 @@ as part of the next step in the pipeline. @@ -170,19 +169,18 @@ as part of the next step in the pipeline.
170 169
171 ### Acceptance Tests 170 ### Acceptance Tests
172 171
173 -After we completely deploy, a new SPB Portal version in the VE, the government 172 +After we deployed a new SPB Portal version in the VE, the government
174 agents are responsible for checking features and bug fixes required by them. If 173 agents are responsible for checking features and bug fixes required by them. If
175 -the technicians identify a problem, they notified the developers via comments  
176 -on an git issue related to the user story (features) already registered in our  
177 -Gitlab at the SPB Portal. These problems were fixed and the pipeline restarted  
178 -from scratch. If everything is validated, we moved forward. 174 +the requirement analysts identified a problem, they notified the developers via
  175 +comments on the SPB Portal's issue tracker. The problems were fixed and the
  176 +pipeline restarted from scratch. If everything was validated, we moved forward.
179 177
180 ### Production Environment Deployment 178 ### Production Environment Deployment
181 179
182 -After the government finished the VE check, it was cleared for deployment and  
183 -we could finally began the deployment to Production Environment (PE). For this  
184 -we also used our configuration management tool as in the VE as well with same  
185 -scripts and package versions. After the deploy was completed, both VE and PE 180 +After the government finished the VE check and it was cleared for deployment,
  181 +we could finally begin the deployment to Production Environment (PE). For this
  182 +we also used our configuration management tool, the same scripts and package
  183 +versions as in the VE. After the deploy was completed, both VE and PE
186 were running identical software. This was the point where new features and bug 184 were running identical software. This was the point where new features and bug
187 fixes were finally available to the end users. 185 fixes were finally available to the end users.
188 186
@@ -195,8 +193,8 @@ Working with the government, we noticed the following additional benefits. @@ -195,8 +193,8 @@ Working with the government, we noticed the following additional benefits.
195 193
196 ### Response to mistrust 194 ### Response to mistrust
197 195
198 -The direct benefit from the CD pipeline was the fast response to the changes  
199 -required by the government. That was vital for the project’s renewal over the 196 +The direct benefit from the CD pipeline was the fast response to changes
  197 +required by the government. That was vital for the project's renewal over the
200 years. We could manage the tension between the government and the development 198 years. We could manage the tension between the government and the development
201 team better. Every meeting with the government leader was delicate and resulted 199 team better. Every meeting with the government leader was delicate and resulted
202 on many new requirements, most of them motivated by political needs. For 200 on many new requirements, most of them motivated by political needs. For
@@ -298,10 +296,10 @@ are needed. @@ -298,10 +296,10 @@ are needed.
298 296
299 ### Overcoming mistrust 297 ### Overcoming mistrust
300 298
301 -In the projects first half we struggled with deploy related problems in the 299 +In the project's first half we struggled with deploy related problems in the
302 government structure. We were in a paradoxical situation. The government 300 government structure. We were in a paradoxical situation. The government
303 demanded speedy deliveries but would not give access to their production 301 demanded speedy deliveries but would not give access to their production
304 -infrastructure. Afterwards some interactions with government agents, they 302 +infrastructure. After some interactions with government agents, they
305 created the VE as an isolated replica of the PE in their own infrastructure. 303 created the VE as an isolated replica of the PE in their own infrastructure.
306 The government agents then realised that it could be beneficial for the project 304 The government agents then realised that it could be beneficial for the project
307 if they granted us access to part of the structure. We believe it is required 305 if they granted us access to part of the structure. We believe it is required