Git strategy for pipeline development » History » Version 1
Tom Clegg, 02/16/2016 07:00 PM
1 | 1 | Tom Clegg | h1. Git strategy for pipeline development |
---|---|---|---|
2 | |||
3 | The following scenario is common: |
||
4 | * You have a project that involves one or two pipelines |
||
5 | * Each pipeline have many components |
||
6 | * These pipelines and components make use of a common code base |
||
7 | |||
8 | Example: |
||
9 | |||
10 | |crunch scripts in repo|pipeline A|pipeline B| |
||
11 | |<pre>crunch_scripts/align |
||
12 | crunch_scripts/call |
||
13 | crunch_scripts/compare</pre>|<pre>align(1) align(2) |
||
14 | | | |
||
15 | call(1) call(2) |
||
16 | |____ ____| |
||
17 | | | |
||
18 | compare</pre>|<pre>align(1) align(2) align(3) |
||
19 | | | | |
||
20 | call(1) call(2) call(3) |
||
21 | |_________ | _________| |
||
22 | | | | |
||
23 | compare</pre>| |
||
24 | |||
25 | While developing the code you can expect to have moments like these: |
||
26 | * Fix a bug in @compare@ that was making it fail when given 3 inputs. |
||
27 | * Update the code, commit, push, and re-run. (Note: results from previous runs _that succeeded_ are still valid.) |
||
28 | * Find a bug in @compare@ that was making it produce incorrect output when given 3 inputs. |
||
29 | * Update the code, commit, push, and re-run. Update pipeline template B to prevent the broken jobs (the ones that are marked "success" but produced incorrect outputs) from being re-used in future pipeline runs. (Note: results from previous jobs from pipeline A are still OK.) |
||
30 | |||
31 | h2. A strategy |