Commit 546c15bb4158a4e8afc710695b0f782164ae3968

Authored by Melissa Wen
1 parent 86bc0133

[i3eSW] Grammarly Pipeline

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -130,22 +130,21 @@ e está bem colocada. Se decidirmos tirar, teremos que repensar o parágrafo.
130 130 -->
131 131 The SPB portal is a system-of-systems with several integrated software projects.
132 132 Each of them, as well as the entire platform, had to be tested. These software
133   -components have their own test suite. Communication between all components is
134   -orchestrated by Colab, a systems integration platform for web applications based
135   -on a plugins architecture. Therefore, specific plugins were developed for
136   -each portal software component, such as Gitlab (www.gitlab.com) and
137   -Noosfero (www.noosfero.org). Each plugin has its own test suite and this set
138   -also worked as integration tests.
  133 +components have own test suite. Colab, a systems integration platform for web
  134 +applications based on a plugins architecture, orchestrate communication between
  135 +all of them. Therefore, we developed specific plugins for each portal software
  136 +component, such as Gitlab (www.gitlab.com) and Noosfero (www.noosfero.org). Each
  137 +plugin also has own test suite, and this set also worked as integration tests.
139 138  
140 139 Both unit and integration tests provided us the performance and security needed
141   -to guarantee the stability for components and the platform. If any test suite
  140 +to guarantee the stability of components and the platform. If any test suite
142 141 failed, by either a test error or coverage reduction below a certain threshold,
143   -the pipeline stopped. Only when all tests passed, the pipeline proceeded to the
  142 +the process stopped. Only when all tests passed, the pipeline proceeded to the
144 143 step of preparing the release.
145 144  
146 145 ### Preparing a New Release
147 146  
148   -A SPB Portal release was composed of all its software components releases. Each
  147 +An SPB Portal release was composed of all its software components releases. Each
149 148 software component release was a git tag that referred to a specific feature or
150 149 bug fix. When all tests passed for a given component, we manually created a new
151 150 tag for it. Therefore, a new tag on any software component yielded a new SPB
... ... @@ -155,57 +154,55 @@ we started packaging.
155 154  
156 155 ### Packaging
157 156  
158   -The platform is running on the CentOS 7 GNU/Linux distribution. Basically,
159   -packaging a software for that distribution has three steps: write the script
160   -for the specific environment (RPM), build the package, and upload it to a
161   -package repository.
  157 +The platform is running on the CentOS 7 GNU/Linux distribution. Packaging a
  158 +software for that distribution has three steps: write the script for the
  159 +specific environment (RPM), build the package, and upload it to a package
  160 +repository.
162 161  
163   -We decided to create our own packages for each software component for the following five
164   -reasons:
  162 +We decided to create own packages for each software component for the following
  163 +five reasons:
165 164  
166   -* Not all software was packaged by the community and those that existed were
167   -outdated;
  165 +* Not all software was packaged by the community and those that existed were outdated;
168 166 * Packaging makes it easy to manage the software on a given distribution;
169 167 * Packaging simplifies the deployment;
170 168 * Packaging follows the distribution's best practices and,
171 169 * Packaging allows configurations and permissions control.
172 170  
173   -After creating a new tag for one component, the developers informed the
174   -DevOps [3] team and the packaging process began. The three packaging steps
175   -aforementioned were fully automated by a set of scripts. With all these scripts
176   -running successfully, the new packages would be ready to be used by our
177   -subsequent deployment scripts.
  171 +After creating a new tag for one component, the developers informed the DevOps
  172 +[3] team, and the packaging process began. A set of scripts fully automated the
  173 +three packaging steps aforementioned. With all them running successfully, the
  174 +new packages would be ready to be used by our deployment scripts.
178 175  
179 176 ### Validation Environment Deployment
180 177  
181   -The Validation Environment (VE) is a replica of the Production Environment
182   -(PE), with two exceptions: only the government officers and project leaders had
183   -access to it and all the data was anonymised. To configure the environment, we
184   -used a configuration management tool named Chef with Chake support (serverless
185   -configuration for Chef). That tool maintained environment consistency
186   -simplifying the deployment process. Additionally, the packages we built on the
187   -last step were readily available to be used by the management tool.
  178 +The Validation Environment (VE) is a replica of the Production Environment (PE),
  179 +with two exceptions: only the government officers and project leaders had access
  180 +to it and all the data became anonymous. To configure the environment, we used a
  181 +configuration management tool named Chef with Chake support (serverless
  182 +configuration for Chef). It maintained environment consistency simplifying the
  183 +deployment process. Additionally, the packages we built on the last step were
  184 +readily available to be used by the management tool.
188 185  
189   -Government agents used the VE to validate new features and required
190   -changes. Also, the VE was useful to verify the integrity of the entire portal
191   -as part of the next step in the pipeline.
  186 +Government agents used the VE to validate new features and required changes. Also,
  187 +the VE was used to verify the integrity of the entire portal as part of the next
  188 +step in the pipeline.
192 189  
193 190 ### Acceptance Tests
194 191  
195 192 After we deployed a new SPB Portal version in the VE, the government
196 193 agents were responsible for checking features and bug fixes required by them. If
197 194 the requirement analysts identified a problem, they would notify the developers via
198   -comments on the SPB Portal's issue tracker. The problems were fixed and the
199   -pipeline restarted from scratch. If everything was validated, we moved forward.
  195 +comments on the SPB Portal's issue tracker. The development team fixed the problem
  196 +and the pipeline restarted from scratch. If everything was validated, we moved forward.
200 197  
201 198 ### Production Environment Deployment
202 199  
203   -After the government finished the VE check and it was cleared for deployment,
204   -we could finally begin the deployment to the Production Environment (PE). For this
205   -we also used our configuration management tool, the same scripts and package
206   -versions as in the VE. After the deploy was completed, both VE and PE
207   -were running identical software. This was the point where new features and bug
208   -fixes were finally available to the end users.
  200 +When the government finished the VE check, we could finally begin the deployment
  201 +in the Production Environment (PE). For this we also used our configuration
  202 +management tool, the same scripts and package versions as in the VE. After the
  203 +deploy was completed, both VE and PE were running identical software. Here was
  204 +the point where new features and bug fixes were finally available to the end
  205 +users.
209 206  
210 207 ## Benefits
211 208  
... ...