33
44Usage:
55 demo.py install [--name=<name>] (--no-pipeline | [--branch=<branch>] [--org=<org>] [--username=<user>] --password=<pass>) [--no-dynamic-slaves] [--builds=<n>] <dcos_url>
6+ demo.py cleanup [--name=<name>] [--builds=<n>] <dcos_url>
67 demo.py uninstall [--name=<name>] [--builds=<n>] <dcos_url>
78
89Options:
9- --name=<name> Jenkins instance name to use [default: jenkins-demo ].
10+ --name=<name> Jenkins instance name to use [default: jenkins].
1011 --no-pipeline Don't run continuous delivery demo.
1112 --branch=<branch> Git branch for continuous delivery demo [default: demo].
1213 --org=<org> Docker Hub organisation where repo lives [default: mesosphere].
@@ -63,13 +64,12 @@ def install(dcos_url, jenkins_name, jenkins_url):
6364 shutil .copyfile ("conf/jenkins.json" , "tmp/jenkins.json" )
6465 rename ("tmp/jenkins.json" , jenkins_name )
6566 command = "dcos package install --yes --options=tmp/jenkins.json jenkins"
66- print (command )
67+ print (" \n > " + command )
6768 if call (['dcos' , 'package' , 'install' , '--yes' , '--options=tmp/jenkins.json' , 'jenkins' ]) != 0 :
6869 log ("Failed to install Jenkins" )
6970 exit (1 )
70- print ("[demo] Jenkins has been installed! Wait for it to come up before proceeding at: {}" .format (jenkins_url ))
71+ print ("\n [demo] Jenkins has been installed! Wait for it to come up before proceeding at: {}" .format (jenkins_url ))
7172 raw_input ("[demo] Press [Enter] to continue, or ^C to cancel..." )
72- os .system ('clear' )
7373
7474def verify (jenkins_url ):
7575 r = requests .get (jenkins_url )
@@ -148,7 +148,6 @@ def demo_pipeline(jenkins_url, dcos_url, name, branch, org, username, password):
148148 trigger_build (jenkins_url , "build-cd-demo" )
149149 log ("Created demo pipeline" )
150150 raw_input ("[demo] Press [Enter] to continue, or ^C to cancel..." )
151- os .system ('clear' )
152151
153152def demo_dynamic_slaves (jenkins_url , builds ):
154153 log ("Creating {} freestyle Jenkins jobs" .format (builds ))
@@ -165,7 +164,6 @@ def demo_dynamic_slaves(jenkins_url, builds):
165164 log ("Job {} created successfully. Duration: {}. Result: {}. Triggering build." .format (job_name , duration , result ))
166165 log ("Created {} freestyle Jenkins jobs" .format (builds ))
167166 raw_input ("[demo] Press [Enter] to continue, or ^C to cancel..." )
168- os .system ('clear' )
169167
170168def cleanup_pipeline_jobs (jenkins_url ):
171169 log ("Cleaning up demo pipeline" )
@@ -194,17 +192,16 @@ def uninstall(dcos_url, jenkins_name):
194192 if call (['dcos' ,'package' ,'uninstall' ,'--app-id={}' .format (jenkins_name ), 'jenkins' ]) != 0 :
195193 log ("Failed to uninstall Jenkins" )
196194 exit (1 )
197- print ( "[demo] Jenkins has been uninstalled!" )
195+ log ( " Jenkins has been uninstalled!" )
198196
199197if __name__ == "__main__" :
200198 arguments = docopt (__doc__ , version = "CD Demo 0.1" )
201199
202- jenkins_name = arguments ['--name' ]
200+ jenkins_name = arguments ['--name' ]. lower ()
203201 builds = int (arguments ['--builds' ])
204202 dcos_url = arguments ['<dcos_url>' ]
205203 jenkins_url = '{}service/{}/' .format (dcos_url , jenkins_name )
206204
207- os .system ('clear' )
208205 config_dcos_cli (dcos_url )
209206
210207 try :
@@ -213,14 +210,19 @@ def uninstall(dcos_url, jenkins_name):
213210 if not verify (jenkins_url ):
214211 install (dcos_url , jenkins_name , jenkins_url )
215212 if not arguments ['--no-pipeline' ]:
216- branch = arguments ['--branch' ]
213+ branch = arguments ['--branch' ].lower ()
214+ if branch == 'master' :
215+ log ("Cannot run demo against the master branch." )
216+ exit (1 )
217217 org = arguments ['--org' ]
218218 username = arguments ['--username' ]
219219 password = arguments ['--password' ]
220220 demo_pipeline (jenkins_url , dcos_url , jenkins_name , branch , org , username , password )
221221 if not arguments ['--no-dynamic-slaves' ]:
222222 demo_dynamic_slaves (jenkins_url , builds )
223223 remove_temp_dir ()
224+ elif arguments ['cleanup' ]:
225+ cleanup (jenkins_url , builds )
224226 elif arguments ['uninstall' ]:
225227 cleanup (jenkins_url , builds )
226228 uninstall (dcos_url , jenkins_name )
0 commit comments