Commit d9e304f1a673bebc9cc759e0b36ef220d9800a51
Exists in
master
and in
3 other branches
Merge branch 'master' of http://softwarepublico.gov.br/gitlab/softwarepublico/articles
Showing
1 changed file
with
26 additions
and
28 deletions
Show diff stats
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 |  | 102 |  |
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 distribution’s 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 project’s 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 |