-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGitHub.htm
More file actions
363 lines (333 loc) · 20.6 KB
/
GitHub.htm
File metadata and controls
363 lines (333 loc) · 20.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
<html><head>
<meta http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A guide to working with Rollins GitHub repositories">
<meta name="keywords" content="git,repo,commit,push,pull,dev,qa,aws,org,partner,agency,sprint,deploy,code,content,sync">
<title>GitHub Repositories</title>
<!--?xml version="1.0" encoding="utf-8"?-->
<style type="text/css">
@import url("css/base-admin-3.css");
@import url("css/font-awesome.min.css");
</style>
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<style type="text/css">
</style>
<link href="page-vflzfYSfI.css" rel="stylesheet" type="text/css">
<link href="css/main-vflaPAd44.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<style type="text/css">
body {
background-image: url(none);
}
</style>
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
p.MsoNormal {
margin-top:6.0pt;
margin-right:0in;
margin-bottom:.0001pt;
margin-left:0in;
line-height:150%;
font-size:10.0pt;
font-family:"Arial","sans-serif";
}
span.Style2 {
color:#292934;
text-decoration:underline;
text-underline:single;
}
span.MsoLineNumber {
font-family:"Arial","sans-serif";
}
p.IMPORTANT {
margin-top:6.0pt;
margin-right:0in;
margin-bottom:.0001pt;
margin-left:1.0in;
line-height:150%;
border:none;
padding:0in;
font-size:10.0pt;
font-family:"Arial","sans-serif";
}
span.MsoIntenseEmphasis {
color:#CC0925;
font-weight:bold;
font-style:normal;
}
span.MsoIntenseReference {
font-variant:small-caps;
color:#AD8F67;
letter-spacing:.25pt;
font-weight:bold;
text-decoration:underline;
text-underline:single;
}
p.IMPORTANT1 {line-height:150%;
border:none;
padding:0in;
font-size:10.0pt;
font-family:"Arial","sans-serif";}
p.MsoNormal1 {line-height:150%;
font-size:10.0pt;
font-family:"Arial","sans-serif";}
span.MsoIntenseReference1 {font-variant:small-caps;
color:#AD8F67;
letter-spacing:.25pt;
font-weight:bold;
text-decoration:underline;
text-underline:single;}
span.Style21 {color:#292934;
text-decoration:underline;
text-underline:single;}
.Courie {
font-family: courier-prime;
font-style: normal;
font-weight: 400;
}
-->
</style>
<!--The following script tag downloads a font from the Adobe Edge Web Fonts server for use within the web page. We recommend that you do not modify it.--><script>var __adobewebfontsappname__="dreamweaver"</script><script src="http://use.edgefonts.net/courier-prime:n4:default.js" type="text/javascript"></script>
</head><body style="width:100%">
<iframe frameborder="0" scrolling="no" align="left" width="100%" height="80px" src="header.htm" name="framehead" id="framehead">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;iframes are not supported by your browser.&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</iframe>
<br>
<a href="header.htm" target="framehead"></a><br>
<div class="body" style="margin-top:40px">
<p align="left" style="margin-left:40px; margin-bottom:50px"><a href="index.htm"><br>
<span>Back to Help</span></a></p>
</div> <style type='text/css'>
/***** Side Content *****/
#sidecontent
{
margin-right:10%;
margin-left: 30;
padding:20px 20px 20px 20px;
float:right;
border: 2px solid #CC092f;
border-radius: 5px;
}
#sidecontent ul
{
color:#333;
list-style:none;
padding:0 0 10 0;
margin:0;
background:inherit;
}
#sidecontent li
{
padding: 0.1ex 0 5px 0;
}
#sidecontent li a
{
color:#000;
text-decoration:none;
font-size:1em;
display:block;
padding:8px 20px;
background:inherit;
}
#sidecontent li a:hover
{
background:#CC092F;
color:white;
}
#sidecontent h4
{
font-size:1em;
font-weight:bold;
margin:0;
text-align:center
}
</style>
<div class="topichero">
<div id="sidecontent">
<h4><br>
Jump To:</h4>
<br>
<ul>
<li><a href="FAQ.htm">FAQ</a></li>
<li><a href="downloads.htm">PDFs</a></li>
<li><a href="VersionOne.htm">VersionOne</a></li>
<li><a href="Sprint_Deploy.htm">Sprint Cycle</a></li>
<li><a href="GitHub.htm">GitHub</a></li>
<li><a href="bestpractices.htm">Technical Procedures and <br>Best Practices</a></li>
<li><a href="international.htm">International Franchise</a></li>
<li><a href="risk.htm">Troubleshooting</a></li>
<li><a href="mcc.htm">Marketing Command Center</a></li>
<li><a href="Glossaries.htm">Glossaries</a></li>
</ul>
</div>
<div class="title-text">
<div class="HomeHeroSection">
<div class="centered-text">
<div>
<h1> <p align="left" style="margin-left:40px;">GitHub Repositories</p></h1>
<p align="left" style="margin-left:40px; margin-bottom:40px">The Marketing Team uses GitHub for version control and source code management. Source code for Rollins products is managed in GitHub repositories and accessed by the Marketing Technology team, outside collaborators, agency partners, and Rollins contributors. <br>
The GitHub service enables the Marketing Team to store source code, manage code revisions, and monitor the history of committed code.</p>
<!-- CSS styles for standard search box -->
<!-- HTML for SEARCH BAR --> </div>
</div>
</div>
</div><p></p>
</div><p></p><p></p>
<div align="left">
<div class="body">
<p align="left" style="margin-left:40px;"><strong>In this article:</strong></p>
<ul>
<p><a href="#ghubservers">Servers</a></p>
<p><a href="#ghubrolorg">Rollins GitHub Organization</a></p>
<p><a href="#ghubagencyorg">Agency Partner GitHub Organizations</a></p>
<p><a href="#ghubmtechrepo">Marketing Technology GitHub Repositories</a></p>
<p><a href="#ghubwflow">Code and Content Contribution Workflow Process</a></p>
<p><a href="#ghubsync">Syncing After Deployment</a></p>
<p><a href="#ghubrisk">Mitigating Risk in GitHub Version Control</a></p>
<p><a href="#ghubhist">Viewing Commit History</a></p>
<p><a href="#ghubmoreinfo">Read More About GitHub</a></p>
<p><a href="#githubrelated">Related Topics</a></p>
</ul>
</div>
<div style="margin-left:40px" class="body">
<h4 id="ghubservers" style="margin-top: 100px; border-top: thin solid #bcbeb0; width:30%">Servers</h4>
<p>Several servers hold source code at different stages of the development and deployment process:</p>
<ul>
<li><strong>DEV.ORKIN.COM</strong> – This server is owned and administered by the Marketing Technology team. The server is used by the team to develop code during the development process. Developers view their code in this server environment and identify any necessary changes. </li>
<li><strong>QA.ORKIN.COM</strong> – This server is owned and administered by the Marketing Technology team. The server is used by the team to review completed code, to ensure quality and confirm the code is free of defects. <br>
Only a Marketing Technology team administrator can push code to this server</li>
<li><strong>WWW.ORKIN.COM</strong> – This server is the production environment, and contains the code that comprises the public-facing content of Orkin.com. The web-based software on this server is the Orkin.com website. Code deployed to this server is considered complete and released. <br>
Only a Marketing Technology team administrator can deploy the website to this server. </li>
</ul>
<div>
<p><font color="red"> <strong>IMPORTANT: </strong></font>Deployment to www.orkin.com is performed on a schedule defined in the Marketing Technology <a href="popsprintcal.html" target="popup" onclick= "window.open('popsprintcal.html','popup','width=1100,height=1000,scrollbars=no,resizable=no'); return false;">sprint schedule.</a>
</div>
<p style="margin-left:40px"> </p>
<p style="margin-left:40px"></p>
<h4 id="ghubrolorg" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Rollins GitHub Organization </h4>
<p>The Rollins GitHub Organization hosts several teams, such as:</p>
<ul>
<li>Marketing Technology</li>
<li>Continion</li>
<li>Jackson-Spalding</li>
</ul>
<p>The Marketing Technology GitHub team designates several team members as administrators of Marketing Technology repositories. These administrators can merge Rollins-owned repositories and push and pull code.</p>
<p style="margin-left:40px"><br>
</p>
<p></p>
<h4 id="ghubagencyorg" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Agency Partner GitHub Organizations</h4>
<p>Additionally, many agency partners maintain their own proprietary GitHub organizations. These partner organizations host teams specific to the partner’s company; for example:</p>
<ul>
<li><strong>BigNerdRanch</strong> – This GitHub organization hosts teams which interact with the Rollins organization, and hosts teams which interact with other customers of the BigNerdRanch company.</li>
<li><strong>WebINTENSIVE Software</strong> - This GitHub organization hosts teams which interact with the Rollins organization, and hosts teams which interact with other customers of the WebINTENSIVE Software company.</li>
<li><strong>THINK Interactive, Inc</strong> - This GitHub organization hosts teams which interact with the Rollins organization, and hosts teams which interact with other customers of the THINK Interactive company.</li>
</ul>
<p>Agency partners control and administer the repositories associated with their GitHub organizations and teams. Marketing team members cannot access or modify these partner repositories unless they are granted access permissions by the administrator of the partner team.<br>
Agency partner GitHub teams outside the Rollins Organization often contribute to the Marketing Technology team repositories.<br>
For example, the BigNerdRanch team accesses some Rollins repositories to contribute code for HomeTeam apps; the ThinkInc team accesses Rollins repositories to contribute to Orkin.com.</p>
<p style="margin-left:40px"> </p>
<h4 id="ghubmtechrepo" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Marketing Technology Repositories</h4>
<p>The Marketing Technology GitHub team owns many repositories, which are used to manage source code for various projects. <br>
During the Sprint development cycle, the source code is managed in the rol-Orkin-website-1st-server repository, which can be pushed to the <u>dev.orkin.com</u> server.</p>
<p> </p>
<p class="MsoNormal" align="center" style="text-align:center;"> </p>
<p class="MsoNormal"><strong> </strong></p>
<h4 id="ghubwflow" style=" border-top: thin solid #bcbeb0; width:30%">Code and Content Contribution Workflow Process</a></h4>
<p class="MsoNormal1"> </p>
<p class="MsoNormal1"><img src="images/Rollins_MT_DeploymentProcess.png" width="400" height="352" alt=""/></p><br>
<p class="MsoNormal1">Rollins Marketing contributors working with the <span class="Style21">Orkin.com</span> code use the following steps to include their code in the <span class="Style21">Orkin.com</span><span style="color:#0070C0; "> </span>website:</p>
<ol>
<li><span class="MsoLineNumber"><a href="VersionOne.htm#v1track">Enter a User Story in VersionOne</a>. The content of this User Story should follow the Rollins Marketing format.</span></li>
<li><span class="MsoLineNumber"><a href="VersionOne.htm#v1task">Add tasks</a> to the User Story. Tasks should contain robust content explaining the planned development work. Update tasks daily.</span></li>
<li><span class="MsoLineNumber">Prior to beginning code development, clone the </span><span class="Style21">dev.orkin.com</span><span class="MsoLineNumber"><span style="color:#0070C0; "> </span></span><span class="MsoLineNumber">repository to ensure the planned development work begins with the most recent code changes from the Marketing Technology developers.<strong></strong></span>
<br>If a clone already exists in your environment, use the clone to pull the latest code from the <u>dev.orkin.com</u> repository.<br>
This repository is </span><span style="font-family:'Courier New'; ">rol-Orkin-website-1st-server.</span><br><span style="color:CC092F; font-weight:bolder">
IMPORTANT:</strong></span><span class="MsoLineNumber"> Do not fork or download repositories. Delete any existing forks or downloads from
your environment.</span>
<li><span class="MsoLineNumber">Develop the project in a local environment.</span></li>
<li><span class="MsoLineNumber">Perform quality testing on the project in a local environment.</span></li>
<li><span class="MsoLineNumber">Pull the latest code from the <u>dev.orkin.com</u> repository.</span></li>
<span style="color:CC092F; font-weight:bolder">NOTE:</span><span class="MsoLineNumber"> Before pulling the code, make a copy of the files you have changed in your local environment, so you can easily replace content in case of a file conflict. <br></span><span class="MsoIntenseReference1"><span style="font-variant:normal !important; letter-spacing:0pt; text-underline:none; color:windowtext; font-weight:normal; text-decoration:none; "> </span></span><br>
<li><span class="MsoLineNumber">Resolve any file conflicts.</span></li>
<li><span class="MsoLineNumber">Push the completed code to </span><span class="Style21">dev.orkin.com</span><span class="MsoLineNumber"> repository.</span></li>
<li><span class="MsoLineNumber">Notify the Business Owner, using VersionOne Conversations, that the code is ready for review on <u>dev.orkin.com</u>.</span></li>
<br>If the Business Owner requests changes:</span><span><ul style="list-style-type:disc; margin-left:30px">
<li><span class="MsoLineNumber">Pull the latest code from the <u>dev.orkin.com</u> repository.</span></li>
<li><span class="MsoLineNumber">Complete the requested changes in your local environment.</span></li>
<li><span class="MsoLineNumber">Again, pull the latest code from the <u>dev.orkin.com </u>repository to ensure any recent updates to the code are captured. </span></li>
<li><span class="MsoLineNumber">Resolve any file conflicts.</span></li>
<li><span class="MsoLineNumber">Push the completed code to <u>dev.orkin.com</u>.</span></li>
<li><span class="MsoLineNumber">Notify the Business Owner, using VersionOne Conversations, that the code is ready for review on <u>dev.orkin.com</u>.</span></li>
<li><span class="MsoLineNumber">If the requested changes cannot be completed and approved prior to the scheduled deployment date, as defined in the Rollins Marketing sprint schedule, contact the Marketing Technology team for assistance in reverting the changes. Your updates will be moved to the next scheduled deployment in the sprint cycle. </span></li></ul><br>
<li><span class="MsoLineNumber">After Business Owner approval, use VersionOne Conversations to notify the Marketing Technology team that the code must go to production in the next deployment in the Rollins Marketing sprint cycle. Create a task in the VersionOne user story and attach test cases.</span></li>
</ol>
<p>Marketing Technology pushes the code to <span class="Style21">qa.orkin.com</span><span class="MsoLineNumber"><span style="color:#0070C0; "> </span></span><span class="MsoLineNumber">at the appropriate point in the sprint cycle.</span><br>
<span class="MsoLineNumber">Marketing Technology performs quality testing on the code base.</span><br>
After the final code base is approved, Marketing Technology pushes it to production at the appropriate point in the sprint cycle.</p>
<div style="padding:0in 0in 1.0pt 0in;">
<h4 id="ghubsync" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Syncing After Deployment</h4>
</div>
<p >After the final code base is deployed to production, a Marketing Technology administrator ensures the production code base and the production database are synced to all servers. <br>
This syncing process is performed after the deployment, and is scheduled to occur well after Eastern Standard business hours. This ensures any minor disruptions caused by the syncing process will occur during a low-traffic period. <br>
New development can begin the next business day on <u>dev.orkin.com</u> with the latest code and database that matches production.</p>
<h4 id="ghubrisk" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Mitigating Risk in GitHub Version Control</h4>
<p >To avoid deploying outdated or incorrect code to production, it is critical that the Rollins Marketing Technology team and all Rollins contributors adhere to these best practices when committing code to GitHub repositories: <br><br>
<font color="red"> <strong>IMPORTANT: </strong></font>Always Pull, then Push.<br>
To ensure you are always working on the latest code base, pull from the <u>dev.orkin.com</u> repository, resolve any conflicts,
then push the code back
to <u>dev.orkin.com</u>.<br></p>
<p>
<ul style="list-style-type:disc; margin-left:30px"><li>Prior to beginning code development, clone the<u> dev.orkin.com</u> repository. </li><br>
<li>If a clone already exists in your environment, use the clone to pull the latest code from the <u>dev.orkin.com</u> repository.<br>
This repository is <font ><span class="Courie">rol-Orkin-website-1st-server. </span>
<div><br>
<font color="red"> <strong>IMPORTANT: </strong></font> Never fork or download repositories. Delete any existing forks or downloads from local environments.<br><br> </div>
<li>Develop and test projects in a local environment.<br><br></li>
<li>To push the code, you must first pull the latest code from the dev.orkin.com repository. <br>
This repository is <font ><span class="Courie">rol-Orkin-website-1st-server. </span></li><br>
<li>Resolve any file conflicts resulting from this pull.<br> <br></li>
<li>Push the code to <u>dev.orkin.com</u> for review and approval. <br></li>
</ul>
<h4 id="ghubhist" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Viewing Commit History</h4>
<p> Like most version control tools, GitHub provides two methods of viewing the history of commit actions. </p><br><br>
<p>To view the commit history of an entire repository, click the repository’s Commits tab.</p>
<img src="images/viewcommit1.PNG" width="700" height="401" alt=""/><br><br>
<p> </p>
<p>To view the commit history of a single file in a repository, click a file in the repository, then click the History button. </p>
<p><img src="images/viewcommit2.PNG" width="700" height="501" alt=""/><br>
</p>
<p><br>
To view the change history of a file and compare code changes, click a file in the repository, then click the Blame button. A list of historical file changes is displayed. </p>
<p>The image below shows commit 0ccaab7 was made by Arvind01, and the newly-committed file has changes in
lines 63, 64, and 65.</p><br>
<img src="images/Blame.PNG" width="500" height="461" alt=""/><br>
<p> </p>
<p> </p>
<p>Click the file commit number to view a side-by-side comparison of the changes. </p>
<br>
<img src="images/FileComparison.PNG" width="700" height="418" alt=""/><br>
<p> </p><br><br>
<p> </p>
<h4 id="ghubmoreinfo" style="margin-top:100px; border-top: thin solid #bcbeb0; width:30%">Read More About GitHub</h4>
<p>For in-depth information, visit the GitHub help center at <a href="https://help.github.com/" target="_blank">https://help.github.com/</a>. </p>
</div>
<p id="githubrelated" align="left" style="margin-left:40px; margin-top:100px"><strong>Related Topics:</strong></p>
<ul>
<p><a href="versionone.htm#v1track">Tracking Progress in VersionOne</a></p>
<p><a href="Sprint_Deploy.htm#appliedrol">Applied Change Management in Rollins Marketing</a></p>
<p><a href="documents/Agency_Partner_DeployProcess.pdf" target="new">Deployment Process for Agency Partners</a></p>
<p><a href="bestpractices.htm" >Technical Procedures and Best Practices</a></p>
</ul>
</div><a href="#siteimageload">
<!-- /row -->
<!-- /row --><!-- /span4 --> <!-- /span4 --> <!-- /span6 --><!-- /row -->
</a>
</body></html>