|
The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins?
|
|
Hiya,
first of all if you expect help try a more convenient formatting like line breaks. Your text is SOO annoying that I had to think twice if I really want to read your case and reply on it ... There are many approaches to achieve your solution. Using the changelog file from Jenkins is desperate approach but possible. I would probably create a build artifact that contains the necessary information. The advantage is, it is in your workspace and can be archived easily. This routine could as example run in job 1 or 2. The plugin conditional build step could then be configured to process a follow up on changes or not. You could in that case let the plugin look for a file (the created changelog), parameters or strings to decide to skip or run the jobs single build steps Take care Jan Am Dienstag, 26. Juni 2012 16:07:18 UTC+2 schrieb louwho: The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins? |
|
In reply to this post by louwho-2
While I am grateful for any help that I can get, I cannot say that I am crazy about being critiqued because I do not write in the style that you prefer. I will have to take a look at how everyone else does this forum 'thing'. I thought that I had written a clear and concise summary of my problem...I did not know that there is a template that I have to follow. I understand that you will not be replying to any more of my postings...hopefully someone else will.
I am new to Jenkins, I am not a Java developer, and have some difficulty knowing what plugin is applicable and what plugin is not. There is a whole list of 'Artifact uploaders', I have no idea of which one to use (which one is applicable to what I am doing...(Windows cmd files, doing msbuild, devenv, etc)). I will have to research this whole 'Artifact' thing, and see how it works. On Tuesday, June 26, 2012 10:07:18 AM UTC-4, louwho wrote: The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins? |
|
In reply to this post by louwho-2
Can anyone else please help me with this. I do not know which plugin to us (and is there an example of doing this in windows?). Can I use the Jenkins command line in a windows batch file (Do I have to install Java first, then what)? Thanks.
On Tuesday, June 26, 2012 10:07:18 AM UTC-4, louwho wrote: The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins? |
|
In reply to this post by louwho-2
If the first build commits binaries to svn, I think you could configure the 2nd job to poll the svn repo. This way it won't run unless there are changes in svn.
By the way, why is it you do not want to always trigger the 2nd job after the first job has built the binaries? Is very expensive? -- Sami louwho <[hidden email]> kirjoitti 26.6.2012 kello 17.07: > The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins? |
|
In reply to this post by louwho-2
The first job does a msbuild of the binaries and then commits the changes to SVN (if there were any changes), then there is a Post build step (Build other projects), that executes the second job that builds the installer. It does this post build step even if there were no changes and no binaries build ("trigger only if build suceeds") If I knew how, I would prevent this post build step from running if there had been no changes (there is no "trigger only if there were changes"... the build always succeeds.
So, the second job kicks off. It has a build step that "executes a windows batch command" (the cmd file that does the installer build). There is a Poll SVN to determine if the first job put anything new into the url that the second job uses, but even though there were no changes from the first job (and thus nothing new for this job to pull from svn ("no changes for...since the previous build"), in the console output, the command file is executed. There is a post build step that then copies the installer project to a place that everyone can get to it. There being no change from the last version of the installer that was created, I do not wish this to happen. Again, I wish I could prevent this post build step from happening.
When I look at the console output of the second job
On Tuesday, June 26, 2012 10:07:18 AM UTC-4, louwho wrote: The first job does a MSBuild of the binaries, and then commits them into a SVN repository that the second job will pull from. The second job uses the stand alone (command line), build of Installshield. This second job can either be manually started by someone using the dashboard, or, when the first job determines that there were changes that need to be included in a new build of the installer. The question is, how can the first job determine that there were changes, and that the second job needs to be kicked off? Checking the log files, I can see that there are differences in some of the log files in the Builds folder, (one file in particular is the changelog.xml file). In a cmd file, I could examine these files, determine if there were changes, and then kick off a build (or not), or, is there something in jenkins that I could use to determine if the second job should be executed? If I used the cmd to examine the log files, how do I then kick off the second job...is there a windows command line for Jenkins? |
|
In reply to this post by louwho-2
Since the first job is committing changes to a subversion repository, I think you could have the second job poll that subversion repository (no plugins required). When the first job submits the change to subversion, the second job will see that as a change and will run. Because the second job is separate from the first job, it will also be possible to run the second job without requiring the first job has run. In that case, the second job will use the most recent binaries placed in the subversion repository by the first job. Neither of those will require any command line calls. They won't require that you examine log files. They let the subversion log polling do the work for you. There
is a command line for Jenkins. It is usable on Windows. Refer to https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI Mark Waite
|
| Powered by Nabble | Edit this page |
