Commit 3c345b89bb4a3f8f309a7c64289f7e1a8bbccaf1
1 parent
7612a343
Exists in
master
and in
3 other branches
[ieeeSW] Review abstract
Showing
1 changed file
with
18 additions
and
18 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... | ... | @@ -2,14 +2,14 @@ |
2 | 2 | |
3 | 3 | ## Abstract |
4 | 4 | |
5 | -Many software development teams think of the operational aspects of Continuous | |
6 | -Delivery (CD) and the competitive benefits that come along with it. For us, it | |
7 | -was much more: it was a survival technique. This article presents the | |
8 | -experience applying CD in a Brazilian Government project for the development of | |
9 | -a Collaborative Development Environment (CDE), sharing its unconventional | |
10 | -challenges and our strategies used to overcome them. This report from the | |
11 | -trenches of the Brazilian Federal Government can help practitioners to | |
12 | -understand how important the CD adoption is to their projects. | |
5 | +For many software development teams, the first things that come to mind | |
6 | +regarding Continuous Delivery (CD) are its operational aspects and competitive | |
7 | +benefits. For us, it was much more: it was a survival technique. This article | |
8 | +presents our experience applying CD in a Brazilian Government project for the | |
9 | +development of a Collaborative Development Environment (CDE), sharing its | |
10 | +unconventional challenges and the strategies used to overcome them. This report | |
11 | +from the trenches of the Brazilian Federal Government can help practitioners to | |
12 | +understand how important CD adoption can be to their projects. | |
13 | 13 | |
14 | 14 | ## Introduction and Context |
15 | 15 | |
... | ... | @@ -102,7 +102,7 @@ the worst political crisis after the re-democratization in Brazil. |
102 | 102 |  |
103 | 103 | |
104 | 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 | |
105 | +which is tested and improved during as necessary as it goes through each one | |
106 | 106 | of the steps until finally reaches the production environment. At this point |
107 | 107 | we get back to the first stage to release more new code. |
108 | 108 | |
... | ... | @@ -134,12 +134,12 @@ consequence, we had different tag values. |
134 | 134 | ### Packaging |
135 | 135 | |
136 | 136 | The platform is running on the CentOS 7 GNU/Linux distribution. |
137 | -Basically, packaging a software for that distribution has three steps: write | |
137 | +Basically, packaging a software for that distribution has three steps: write | |
138 | 138 | the script for the specific environment (RPM); build the package; and upload |
139 | 139 | it to a package repository. |
140 | 140 | |
141 | 141 | We chose to create our own packages for each software component for several |
142 | -reasons: | |
142 | +reasons: | |
143 | 143 | * Not all software was packaged by the community; |
144 | 144 | * And those that existed were outdated; |
145 | 145 | * Packaging makes it easy to manage the software on a given distribution; |
... | ... | @@ -151,9 +151,9 @@ After creating a new tag for one component, the DevOps team was notified and |
151 | 151 | packaging process began. In the normal case, the three packaging steps |
152 | 152 | aforementioned were fully automated by a set of scripts. |
153 | 153 | |
154 | -However, if the developers reported to DevOps any eventual dependency change, | |
155 | -the first packaging step had to be manual. For instance, suppose one system | |
156 | -starts requiring another system to be initialized first. That required the | |
154 | +However, if the developers reported to DevOps any eventual dependency change, | |
155 | +the first packaging step had to be manual. For instance, suppose one system | |
156 | +starts requiring another system to be initialized first. That required the | |
157 | 157 | DevOps to manually update the packaging script respective to these systems. |
158 | 158 | |
159 | 159 | After all these scripts have run successfully, the new packages would be ready |
... | ... | @@ -166,7 +166,7 @@ to use by our subsequent deployment scripts. |
166 | 166 | The Validation Environment (VE) is a replica of the Production Environment |
167 | 167 | (PE), with two exceptions: only the government officers and us had access to it |
168 | 168 | and all the data is anonymised. To configure the environment, we use a |
169 | -configuration management tool. That maintained environment consistency | |
169 | +configuration management tool. That maintained environment consistency | |
170 | 170 | simplifying the deployment process. Additionally, the packages we built on |
171 | 171 | the last step were readily available to use by the management tool. |
172 | 172 | |
... | ... | @@ -186,16 +186,16 @@ move forward. |
186 | 186 | |
187 | 187 | After the government finish the VE check, it is cleared for deployment and we |
188 | 188 | can finally begin the deployment to Production Environment (PE). For this we |
189 | -use the same configuration management tool as in the VE as well with same | |
189 | +use the same configuration management tool as in the VE as well with same | |
190 | 190 | scripts and package versions. After the deploy is completed, both VE and PE |
191 | -are running identical software. This is the point where new features and bug | |
191 | +are running identical software. This is the point where new features and bug | |
192 | 192 | fixes are finally available to end users. |
193 | 193 | |
194 | 194 | ## Benefits |
195 | 195 | |
196 | 196 | We had to handle many tensions between development and political issues. Our CD |
197 | 197 | pipeline gave us strong mechanisms to tackle most of the problems. As a result |
198 | -we came with some benefits from our decision to adopt CD. | |
198 | +we came with some benefits from our decision to adopt CD. | |
199 | 199 | |
200 | 200 | ### Response to mistrust |
201 | 201 | ... | ... |