Information gathering
Information gathering is processed by Jenkins’s subversion plugin. In constant time interval Jenkins triggers a new job, executes subversion plugin. Subversion plugin downloads the latest code from repository to Jenkins’s workspace.
Processing and transmission of information
When information is gathered and latest code is downloaded from repository Jenkins triggers next job, executes Ant plugin. Ant builds an artifact and if build was successful, saves the artifact to Jenkins’s workspace.
After that, test plugin is executed. When all tests were passed, plugin also saves tests reports to Jenkins’s workspace.
If build is stable (build was successful and all tests were passed), Jenkins triggers Ant again, this time to deploy the artifact to production or test environment.
Storage and provision of information
All gathered and processed data is stored in Jenkins’s workspace in file system by default. If any artifact and tests repository is set artifacts and reports are saved there. Provision of any information is executed by Jenkins’s UI.
The View Actionable objects adds UI and information via Actions to Model Object. Describable objects adds configuration UI via Descriptor to Model Object. Jelly is the tag library used to define the UI. Ex:... Jenkins model objects have multiple "views" that are used to render HTML pages about each object. Hudson uses Jelly as the view technology The UI name space corresponds to the package name of Object
Functional requirements:
· The software must be able to automatically work with the version control system SVN to gain access to the current version of the source code
· The software must be able to run scheduled jobs automatically
· The software must be able to build project and deploy it to remote stand
· The software must give ability to manually run tasks
· The software must be able to generate reports and store them to the workspace
· The software must be able to generate error reports and email them to dev. Team
Software architecture
System modules
Jenkins is an extendable Web Application. The basic platform is extended via plugins. Plugins are responsible for most of the functionalities in Jenkins. Basic distribution has only 4 plugins installed by default. So we can represent Jenkins architecture this way.
- Jenkins main module
- CVS
- SVN
- Ant
- SSH
Diagram here
Model objects are building blocks of Hudson Platform. They hold the data and state of a Job/Run. Each Model object is associated with an URL. The root object is called Jenkins and it is associated with the URL /
Model Objects are bound to URLs by using Stapler. The singleton Jenkins instance is bound to the "/" URL, and the rest of the objects are bound according to their reachability from this root object.
|
svn ->
5. Результаты выполнения второго этапа — «Анализ средств автоматизации
ИТ-процессов».
6. Результаты выполнения третьего этапа — «Синтез определенных уровней
архитектуры ИС».
Таблица соответствия функциональных требований и функциональных возможностей: