Download presentation
Presentation is loading. Please wait.
Published byPierce Pearson Modified over 6 years ago
1
Delphi or C++ Builder, with Subversion and Jenkins
CodeRage XI : Continuous Integration Craig Chapman Software Consultant Embarcadero Technologies @CraigChapm53280 CodeRage XI Continuous Integration Hi, My name is Craig Chapman, I’m a Software Consultant for Embarcadero Technologies, and this is my CodeRage 11 session on Continuous integration with Delphi and C++ Builder. Today I’m going to discuss continuous integration, and why it matters regardless of the size of your development team. I’ll give you a brief overview of Subversion and Jenkins, and then demonstrate how you can build your own continuous integration server using these products. During the demo I’ll be building a product using RadStudio, depending on which CodeRage track you’re watching you’ll see the project in either Delphi or C++ builder accordingly. Although I’m using RadStudio, all instrucitons given are relevant to Delphi, C++ Builder and RadStudio. There’s a lot to get through, so lets get started. Delphi or C++ Builder, with Subversion and Jenkins Nov, 2016
2
Products used in this session…
Visual SVN: TortoiseSVN: Jenkins Build Server: Oracle JRE: chapmanworld: Aside from Rad Studio, Delphi or C++ Builder, all products featured in this session are available for free, or with free editions available for commercial use. These product links will be repeated on the blog post which accompanies this session at along with these slides an other materials from the session.
3
Brief Introduction to Version Control.
Version Control allows you to maintain multiple versions (revisions) of your source code on a remote server. Version Control assists in maintenance of source code with multiple authors. CVS (Concurrent Version System) SVN (Subversion) Git (of GitHub) Mercurial Version control allows you to maintain multiple versions, or revisions, of your source code on a remote server. One of the strongest advantages of a version control system is the ability to revert back to a previous version of your source code, to track when bugs may have been introduced or repaired, possibly even by which member of your team, which can be useful in understanding why they occurred. Regardless of the size of your development team, version control can be very useful for source code maintenance. The actual implementation details of a version control system are not relevant for this session, but the easiest way to think of a version control system is this. You have a server which stores the very first copy of your source code submitted to it, you also have a local copy of the source code. When you alter your local copy and submit the changes, the version control system stores the differences between the first version and the new submission. In addition to this, Version Control assists in the maintenance of source code with multiple authors on a development team. Each member of the team can have their own copy of the source code while they work on features or add bug fixes, and submit those changes to the master copy on the server. Should two authors attempt to submit the same file to the same revision on the server, the second of them to submit changes is responsible for merging his or her code with the previous submission. Often the version control system can merge source files by it’s self, and when it can’t it offers a difference tool to aid the developer in merging their code in. Today we’ll be using the Subversion, or SVN version control system. Other options include CVS, Git and Mercurial, each with their own merits and benefits. You should consider researching the version control system which is right for your needs.
4
Brief Introduction to Continuous Integration.
Version Control Automated Testing Automated Builds Continuous Integration is the practice of using a version control system to allow developers to submit code into a shared repository in repeated increments of development. It includes using tools to automate building and testing the code. For example, your continuous integration server, or build server, is able to detect changes added to the version control system and trigger a server-side instance of the compiler to build the latest version. In doing so, it can also build a unit test application for you and run it. It’ll even notify you when some change to the code causes those unit tests to fail, or worse, the build to fail.
5
Brief Introduction to Continuous Integration.
Jenkins RADStudio, Delphi, C++ Builder MSBuild We’ll be using the Jenkins build server in todays demo, to perform an automated build of a Delphi or C++ Builder project depending on the CodeRage track you’re watching, and using the MSBuild system. As a side note. Your license for RadStudio, Delphi or C++ Builder permits the installation of the compiler on a build server for the purpose of automated building. Licensing is per user, and a build server does not count as a user. Therefore, you do not necessarily require an additional license for a build server. One consequence however is that your installation key has a limited number of installations associated with it, so talk to your Embarcadero Representitive for more information.
6
Demonstration… We have a lot to cover, so lets get started with the demonstration…
7
CodeRage XI : Continuous Integration
Craig Chapman Software Consultant Embarcadero Technologies @CraigChapm53280 CodeRage XI Continuous Integration With a little additional effort to add security, user groups and permissions, you now have a fully functioning continuous integration server. My name is Craig Chapman, Thanks for Watching. Q & A Thank You Nov, 2016
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.