Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 ·...
Transcript of Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 ·...
![Page 1: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/1.jpg)
Using Jenkins for Continuous Integration,
Automated Testing, Continuous Delivery
Ron Fowler
STFC
![Page 2: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/2.jpg)
Content
• The advantages of Continuous Integration
• The Jenkins service on CCPForge & local server
• The Jenkins dashboard and configuration
• Aims for the Jenkins service
• Current status
![Page 3: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/3.jpg)
Software development
• Version control system to maintain consistent source
code: SVN, GIT, etc.
• Allows separate branches/tags for release versions
and development versions.
• Does not address testing and building of release
versions.
• Build servers allow automated testing/building.
![Page 4: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/4.jpg)
Benefits of Continuous Build Server
• Instant feedback on code “correctness”
– Does the whole package still compile on the current
architecture?
– Does the code compile on other architectures?
• Feedback on code quality
– e.g. doxygen comments, pylint, mlint reports
![Page 5: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/5.jpg)
Benefits of Continuous Build Server (2)
• Test code correctness
– Regression testing, unit testing, integration testing, etc. e.g.
gadgetron unit & integration tests, STiR test suite.
• Build modules with latest features
– Automated compile and link can provide packages for users
to download and test. Build server can work over multiple
architectures, e.g. Linux, MacOSX, Windows.
– Possibly build “docker” releases.
![Page 6: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/6.jpg)
Jenkins Build Server
• Open source Build server
• Java with web interface
• Support by CCPForge
• Large range of plugins
• CCPForge server on CentOS7
• Currently working with CentOS6 based server
– Local server, may make Matlab testing easier?
![Page 7: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/7.jpg)
7
![Page 8: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/8.jpg)
8
![Page 9: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/9.jpg)
9
![Page 10: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/10.jpg)
10
![Page 11: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/11.jpg)
Aims for the build service
• Initial focus on building the Python/Matlab interfaces,
running simple tests based to demo scripts.
• Do not intend to build unit/integration tests of
Gadgetron or test suite of STiR.
• Wish to automate binary distributions of packages for
Linux and Windows.
• Provide code metric though pylint/mlint etc.
![Page 12: Using Jenkins for Continuous Integration, Automated Testing, Continuous Delivery · 2016-06-08 · Benefits of Continuous Build Server (2) • Test code correctness –Regression](https://reader036.fdocuments.in/reader036/viewer/2022062602/5ede9c2bad6a402d6669f009/html5/thumbnails/12.jpg)
Current status
• Build server set up to monitor git repo of the
xGadetron extensions.
• Checks hourly for new updates if found runs script
• Build not yet working - clashes with HDF5 versions
(sys vs Anaconda)
• Looking to modify demos for basis of integration
tests.