Download presentation
Presentation is loading. Please wait.
Published byHouston Gartin Modified over 10 years ago
1
Oded Lachish Room: Mal 405 Visiting Hours: Wednesday 17:00 to 20:00 Email: oded@dcs.bbk.ac.uk Module URL: http://www.dcs.bbk.ac.uk/~oded/Tools2012-2013/Web/Tools2012-2013.html Introduction to Software Engineering: Tools and Environments Session 10 1
2
Last time 1.Documentation tools Doxygen and eUML2 2.Code generation tools – eUML2 3.Ant revisited 2
3
Tools Side Dish EnvironmentVariables 3
4
Environment Variables 4 How did eclipse know where to find java Scan the directory structure (bad idea, why?) Environment variables Probably all operation systems have environment variables. Environment variables can be accessed by running processes Environment variables are also play a significant role in the operation of the OS
5
Important - Environment Variables 1.PATH – list of directories to look for executables 2.JAVA_PATH – location of the Java related files 3.ANT_PATH – location of the Ant related files 5
6
Setting - Environment Variables Windows Right click 6 Left click
7
Environment Variables - 7 Left click
8
Environment Variables - 8 Left click
9
Environment Variables - 9 You can add new system variables and edit existing ones
10
Installing Ant and Setting Environment Variables URL to download from http://ant.apache.org/bindownload.cgi Download: apache-ant-1.8.2-bin.zip Store contents in C:\ So C:\apache-ant-1.8.2 exists 10
11
Setting Ant Environment Variables Set ANT_HOME to 11 First left click
12
Add Ant to Path Environment Variables 12 First left click Semi colon separates directories in list, add ; C:\apache-ant-1.8.2\bin at the end of the list
13
Java Server and Servlets 13
14
Why do we need Javaserver and Servlets 14 1.We are going to install Jenkins 2.Jenkins is used through a browser 3.Jenkins uses dynamic page generation 4.The standard browser does supply a sufficient environment for this goal 5.Jenkins requires a Javaserver for this goal 6.We shall use Tomcat as our Javaserver and run Jenkins a java servelet (an extension to Tomcat)
15
Download Tomcat 15 URL to download from http://tomcat.apache.org/download-60.cgi Download: 32-bit/64-bit Windows Service Installer Execute (select all components)
16
Tomcat Installation – User Name and Password 16 Fill-in Make sure you remember this we will need it
17
Tomcat Installation – Java Virtual Machine 17 Make sure correct
18
Tomcat Destination 18 Remember, will be useful
19
Apache Tomcat 19 Left click
20
Apache Tomcat – Server Status 20 Left click
21
21 This shouldnt be there at this stage
22
Next Stage 22
23
Until now We have covered many SDLC tools from a single developer s point of view. 23 Local Individual Developer Integration Collected work of Individual Developers Testing QA team Environment Project point of view (large project) From here on
24
Single Developers Tools 1. light weight 2.Easy to learn 3.Integrated with IDE 4.Trivial to install and set 5.Massive number of available tools 24 Project Scale Tools HEAVY 1.HEAVY 2.Easy to learn? 3.Require their own server 4.Installation may require significant effort 5.Relatively small variety of tools
25
Continuous Integration 25
26
Integration Where all the code goes to (and also the unit tests) When things go wrong here the price is high This is the reason the focus is on minimizing the damage when things go wrong 26
27
Continuous Integration Integrate code as soon as possible. Why? Each time only a small portion of code is added or changed. Why? Problems are detected earlier Easier to find the problem 27
28
Jenkins 28
29
What is Jenkins A crucial element in continuous integration has two main goals: 1.Continuously build and test software projects 2.Monitor externally run jobs 29
30
Work Flow with Jenkins A team member/ members commit code to source control repository 30 Jenkins detects that new code has been committed Jenkins uses Build Tools to build the project and Test tools to test the project Jenkins uses the resulting files to generate reports Jenkins send notification if anything went wrong (build, test failed etc.)
31
Jenkins as Part of the Big Picture Easy installation: java -jar jenkins.war, or deploy it in a servlet container. No additional install, no database. Easy configuration: can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help. There's no need to tweak XML manually anymore, although if you'd like to do so, you can do that, too. Change set support: can generate a list of changes made into the build from Subversion/CVS. This is also done in a fairly efficient fashion, to reduce the load on the repository. 31
32
Jenkins as Part of the Big Picture Permanent links: Jenkins gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere. RSS/E-mail/IM Integration: Monitor build results by RSS or e-mail to get real-time notifications on failures. JUnit/TestNG test reporting: JUnit test reports can be tabulated, summarized, and displayed with history information, such as when it started breaking, etc. History trend is plotted into a graph. 32
33
Jenkins as Part of the Big Picture Distributed builds: Jenkins can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks. File fingerprinting: Jenkins can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Jenkins, and is ideal for projects to track dependency. Plugin Support: Jenkins can be extended via 3rd party plugins. You can write plugins to make Jenkins support tools/processes that your team uses.3rd party plugins 33
34
Jenkins as Part of the Big Picture An easy to configure tool that is responsible for the following: 1.Make sure that everything that should be executed is executed when and as soon as possible 2.Collect all the information and process it into coherent reports (imagine have 10 different tools each with its own report) 34
35
Jenkins Leg Work 35
36
36 Jenkins –.war file jenkins.war
37
37 What to do with the.war file
38
Jenkins – Nice to Meat You 38 Left click
39
Jenkins – Plug-ins 39 Left click
40
Jenkins Plugin manager 40 Left click
41
Jenkins Git Plugin Installation Success 41
42
Jenkins Leg Work New Project 42
43
Jenkins new project 1.Write a new Java project 2.Add an Ant build script to the project 3.Store the project in a Git repository 43
44
Jenkins New Job 44 Left click
45
Jenkins New Job 2 45 Fill in Select
46
Jenkins New Job Top 46 Fill inSelect
47
Jenkins New Job Middle 47 Select Update to your git repository
48
Jenkins New Job 48 Left click Update
49
Jenkins New Job (actually after) 49 Left click
50
Jenkins Build Page 50 Left click
51
Jenkins Console Output 51 Left click
52
Jenkins Git Build Data 52
53
What Happened After First Build? 53 1.Jenkins Cloned the Project 2.Jenkins used the Ant script to build the project
54
Other Things we Could have Done 54
55
Jenkins Leg Work Triggering a Build 55
56
Jenkins – When to Build? 56 1.Can be done manually (as we already did) 2.Can be done in fixed intervals – in general this is not recommended 3.Polling – build when the project changed
57
Jenkins – Triggering a Build (project configure) 57 I think this should get it to poll every minute Check it out
58
Jenkins – Git Polling Log 58
59
Jenkins – Build History 59
60
Jenkins Leg Work Other Features 60
61
Jenkins – RSS 61 You can use RSS to get updated Left click
62
Manage Jenkins 62
63
Configure Jenkins 63
64
Can execute concurrent builds guess where? Configure Jenkins – e-mail notification 64 You can use e-mail notification to get updated You can change the URL
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.