Hey guys! I've been digging into the Jenkins lately and would like to find some optimal/modern solution for the whole thing.
Originating from the following...
- It is generally recommended that the project files should be stored locally
- But once you want to set up the Jenkins on the Build server, the same project files should be stored on the server as well (to define the path for project files)
How do you solve this? Is there any SW for transferring/updating files that runs in the background so the changes would be recognized and the job would be triggered eventually? Or what's your solution? Thanks
What's your solution for Jenkins?
-
- Posts: 68
- Joined: Wed Jun 29, 2016 1:19 pm
- Location: Frankfurt, Germany
- Contact:
What's your solution for Jenkins?
Ranorex Explorer @DVAG
Support my Ranorex Ideas & Improvements
My current approach: Ranorex 9.2.0
Support my Ranorex Ideas & Improvements
My current approach: Ranorex 9.2.0
Re: What's your solution for Jenkins?
For us Jenkins is configured as followed:
Jenkins itself runs on a Linux machine.
We have a Windows Server 2008 machine to run the automation.
This Windows machine is connected to Jenkins by Jenkins Slave Agent (https://wiki.jenkins-ci.org/display/JEN ... ted+builds)
We have Git repository on the Linux machine and we can push our development locally to there and get it from there as well for the Windows machine where the test are run. This can also be automatically deployed by Jenkins with the Git integration.
Also, Ranorex Reports are stored on the Linux machine with Jenkins User Content integration. This helps with the hosting of the reports. So when an automation is run the report URL (hosted on Jenkins User Content) is sent to required people via e-mail.
It's just a quite vague overview but might give you some idea points. If you have any specific questions feel free to ask.
Martin
Jenkins itself runs on a Linux machine.
We have a Windows Server 2008 machine to run the automation.
This Windows machine is connected to Jenkins by Jenkins Slave Agent (https://wiki.jenkins-ci.org/display/JEN ... ted+builds)
We have Git repository on the Linux machine and we can push our development locally to there and get it from there as well for the Windows machine where the test are run. This can also be automatically deployed by Jenkins with the Git integration.
Also, Ranorex Reports are stored on the Linux machine with Jenkins User Content integration. This helps with the hosting of the reports. So when an automation is run the report URL (hosted on Jenkins User Content) is sent to required people via e-mail.
It's just a quite vague overview but might give you some idea points. If you have any specific questions feel free to ask.
Martin
Re: What's your solution for Jenkins?
Mine is as follows:
Windows Server 2008 (one of only about 3 Windows servers in the company) -
----Jenkins Server (for test builds and test execution, includes report publishing)
----SQL Server
----Ranorex License Server
----Ranorex 6.2.1 (for build)
----.NET SDK (4.5 max)
----GitHub Desktop
8 Windows 7 VMs
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
1 Windows 8.1 VM
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
GitHub - All projects are in a private GitHub repo (company wide)
I have multiple long-running branches in git, one for each software stack we test against (MIRROR - mirrors production code, PATCH - next patch release (1.2.X), PREVIEW - next feature release (1.X.0)). There is a build job for each project for each stack. Then there are small jobs that run individual tests, a parent job that runs each test job with given parameters, and a grandparent job that runs the parent jobs on each stack nightly.
My setup is pretty complex, but it is also highly dynamic. I use SQL data to drive the tests, including deciding when certain test cases are run. Both Jenkins and Ranorex get data from the DB, so even Jenkins can decide which tests to run at which time.
Windows Server 2008 (one of only about 3 Windows servers in the company) -
----Jenkins Server (for test builds and test execution, includes report publishing)
----SQL Server
----Ranorex License Server
----Ranorex 6.2.1 (for build)
----.NET SDK (4.5 max)
----GitHub Desktop
8 Windows 7 VMs
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
1 Windows 8.1 VM
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
GitHub - All projects are in a private GitHub repo (company wide)
I have multiple long-running branches in git, one for each software stack we test against (MIRROR - mirrors production code, PATCH - next patch release (1.2.X), PREVIEW - next feature release (1.X.0)). There is a build job for each project for each stack. Then there are small jobs that run individual tests, a parent job that runs each test job with given parameters, and a grandparent job that runs the parent jobs on each stack nightly.
My setup is pretty complex, but it is also highly dynamic. I use SQL data to drive the tests, including deciding when certain test cases are run. Both Jenkins and Ranorex get data from the DB, so even Jenkins can decide which tests to run at which time.
Shortcuts usually aren't...
Re: What's your solution for Jenkins?
Can you explain a little what is the driving force what actually modifies the DB? Something written into the AUT? Or just a script you periodically run?krstcs wrote:Mine is as follows:
Windows Server 2008 (one of only about 3 Windows servers in the company) -
----Jenkins Server (for test builds and test execution, includes report publishing)
----SQL Server
----Ranorex License Server
----Ranorex 6.2.1 (for build)
----.NET SDK (4.5 max)
----GitHub Desktop
8 Windows 7 VMs
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
1 Windows 8.1 VM
----Jenkins Slave
----Ranorex (for runtime)
----GitHub Desktop
GitHub - All projects are in a private GitHub repo (company wide)
I have multiple long-running branches in git, one for each software stack we test against (MIRROR - mirrors production code, PATCH - next patch release (1.2.X), PREVIEW - next feature release (1.X.0)). There is a build job for each project for each stack. Then there are small jobs that run individual tests, a parent job that runs each test job with given parameters, and a grandparent job that runs the parent jobs on each stack nightly.
My setup is pretty complex, but it is also highly dynamic. I use SQL data to drive the tests, including deciding when certain test cases are run. Both Jenkins and Ranorex get data from the DB, so even Jenkins can decide which tests to run at which time.
Re: What's your solution for Jenkins?
I'm not sure I understand your question.
The test data is only modified by humans through a front-end that I created for that purpose. Test results data is written to the DB by modules in my Ranorex test suites.
This DB is not a part of the AUT, it just holds information about the test, either the raw test data, or the results.
The test data is only modified by humans through a front-end that I created for that purpose. Test results data is written to the DB by modules in my Ranorex test suites.
This DB is not a part of the AUT, it just holds information about the test, either the raw test data, or the results.
Shortcuts usually aren't...