18

It supports AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC. For all of them exists a plugin and as you probably already know, Jenkins is not limited to only that list, anyone can create a SCM plugin for other options if they want to. Here is the link to the plugins: AccuRev: https://wiki.jenkins-ci.org/display/JENKINS/AccuRev+Plugin ...


11

Have a look at the Summary Display plugin. Some more details about it (= quote from the linked page): ... allows an easy and fully customized build report display. Features Allow a rich summary report visible from both project and build page Reports must be written in an XML format according to the syntax described in section Syntax ...


11

The "Embeddable Build Status Plugin" will do exactly that. Note: This requires your Jenkins server to be accessible from the internet if you're using GitHub because they cache all images in their CDN.


8

You can use a pipeline to tie the jobs together, executing them either in parallel or sequentially through steps. You can pass the relevant parameters to each job as you call it from the pipeline script. Then you just need to rebuild a single pipeline job. You can tie the jobs together with a common build name through a variable as well. build job: '...


8

In addition to the list in the previous answer, there is also the plugin that integrates Serena Dimensions CM with Jenkins. Some more details about this plugin (from the linked page): The plugin allows a Jenkins job to be associated with a Serena Dimensions CM stream or project, automatically updating the Jenkins workspace with file content from the ...


7

This section of the official Jenkins Plugin Tutorial will probably be of use. According to the writers of that documentation, you need to copy your .hpi file to $JENKINS_HOME/plugins, remove the plugin's development directory, and finally create an empty file called .hpi.pinned for maven to use. Then you should be ready to restart Jenkins and use your ...


7

Found the problem: I was using the human readable key name from the GUI. Need to use the key's UUId ID instead (this is specified next to the name in credentials screen) steps { sshagent ( ['THIS-SHOULD-HAVE-BEEN-A-UNIQUE-ID-INSTEAD-OF-A-NAME']) {


6

Sadly I just switched jobs and I don't have access to a Jenkins instance (least not yet) so I cannot try it out for you. That said some ideas quickly jump in my mind that could get you there. I've had some success with the conditional build step plugin though I don't know if it would work for build timeouts. If not directly perhaps as a means to change ...


6

In Groovy you have to use double quotes to get string interpolation: if ( "$output" != null ) { slackSend (channel: "@${name}", color: '#36A64F', message: "Job succeeded") } else { slackSend (channel: "@${name}", color: '#36A64F', message: "Job failed") } You can also probably do something like this to avoid it entirely and have ...


5

You could try to run the artifactory file upload in parallel if you are using the Jenkinsfile syntax: https://github.com/jenkinsci/pipeline-examples/blob/master/pipeline-examples/parallel-from-list/parallelFromList.groovy Here is a simpler example to run things in parallel if you only have a fixed number of things you want to do in parallel: parallel ( ...


5

I found out via this StackOverflow question which pointed me to JENKINS-27624 which indicates that Java 8 is now required. Update: I upgraded Java on all my nodes this morning and they are up and working.


5

I've created the jenkins-remote-builder script which will follow your remote build to completion. Some more details about it (from its README.md): Example jenkins=https://user:pass@jenkins.mydomain.com:8080 jenkins_job=MyApp-Deploy environment=dev application=myapp revision=9fd71f63b351b8208264daf86d292ced580a2f60 ./jenkins_remote_trigger.sh \ ...


5

When setting up the remote trigger, you have to click "Block until the remote triggered projects finish their builds."


5

Yes, storing your ssh keys directly on a build node is a bad practice. Nodes can be replicated, deleted, or given access to from other systems, and you don't want to lose track of what systems have access to your secrets. You should also not pass them directly into the build job, either as a parameter or as an environment variable. This can cause a huge ...


4

Your question doesn't specify which platform (OS) it is about. But if it is about good old mainframes (running zOS, whereas the z stands for "zero downtime ..."), then these would be some possible options to pick from (quotes are from the linked pages): Compuware Source Code Download for Endevor, PDS, and ISPW Plugin. ... allows Jenkins users to download ...


4

What you are looking for is at the bottom of the GitHub README describing Job DSL for the Promoted Builds Plugin. Link to GitHub is on every plugin's page. There are also links to plugins it depends on and you should read the documentation for those like the Job DSL plugin wiki. You can also ask questions in the Job DSL forum or simply read the documentation....


4

I was trying to do something similar (embed build status icons into email notifications) but since our build system is not publicly accessible, I ended up posting the status icons to imgur and referencing those images by storing the URL in variables according to state. Here are some snippets from my email template Groovyscript: Defining the URLs: def ...


4

According to the policies of the company where I work we have dev, preprod and prod environments (on some service dev can be missing). And the path of new version preprod->tests->validation->prod. In our case jobs in preprod are heavy and complex enough to be sure we do not need to pray when implement in prod :) Note: We use svn to maintain and deliver ...


4

Specifically in answer to your 3rd question, if you are willing to look outside of the Jenkins Ecosystem there are alternatives out there that might be of value to you. For my clients who use the Microsoft Stack and have fewer than four teams, I have been recommending the use of AppVeyor it is highly tuned for the .NET Stack and integrated very naturally ...


4

I believe it is now possible to configure the webhook on per-repo basis: https://mohamicorp.atlassian.net/wiki/spaces/DOC/pages/381419546/Configuring+Webhook+To+Jenkins+for+Bitbucket+Bitbucket+Branch+Source+Plugin


4

This is a known bug. See JENKINS-42878 and JENKINS-41996. This bug has been resolved upstream, which means you should be able to fix the bug by upgrading the plugin to the latest version.


4

"This is great, but I want to run a command/script when a branch is removed, how can I have jenkins run a command when a branch is removed?" You will need to use a webhook for this, I use the following settings in Github: Bitbucket only supports the following webhooks: "Is there a way to have Jenkins trigger a job before it removes the branch?" ...


4

I figured it out by myself, there is no plugin needed. build.sh &> /dev/stdout | tee jenkins.txt and then curl -F file=@jenkins.txt -F channels=yourchannel -H "Authorization: Bearer your token" https://slack.com/api/files.upload There is no '#' needed for slack channel and channel should not be private. And if you use buils.sh | tee jenkins.log ...


3

You can have conditionals in your declarative pipeline by using the when-block inside a stage. There is a plugin called "environment injector" which lets you set variables outside of the pipeline-script which is nice. Also if you put the step below the other steps, it won't execute if they fail. when { environment name: 'pushArtifact', value: 'true' }...


3

From what I can tell you can definitely customize the columns for a custom view (I can't find where to change it for the "All" view, but it's probably possible). Unfortunately it doesn't look trivial to add a custom column without writing a plugin, for example the jacoco plugin: https://github.com/jenkinsci/jacoco-plugin/blob/master/src/main/java/hudson/...


3

Working off what @chupasaurus said, here's what I came up with: node('master') { dir("../builds/${BUILD_NUMBER}/") { sh "cp -r cucumber-html-reports $WORKSPACE" } archive "cucumber-html-reports/*" } Obviously all this does is archive the report for that build, but you can easily extend this to copy it somewhere else where it can be ...


3

I found the solution while trying to manually deploy the Lambda function as a jar file. These are the steps - Create your Lambda function as a Maven project using the AWS documentation. Create your Jenkins job as a Maven project and specify package in the goals section. Follow the Jenkins Lambda plugin documentation for deployment and specify target/your-...


3

Historically, I approached this a bit differently. I added a post-build step to each job, and had it copy the output to S3 at execution time via the S3 plugin. This blog post covers the moving parts n a pretty granular detail. You may want to reference wget -O console-output.log ${BUILD_URL}consoleText as the output for the job in question in your ...


3

Note: this answer comes from my background of building custom solutions, it's not a config-only one, which, if available, would obviously be preferable. But it's maybe something to consider otherwise. You could teach the script executing the unit test job to persist a per-branch execution state. When the script is launched it would need to obtain the ...


3

Generic answer yes, it is possible with a lot of work... Is it something wise to do? In my opinion no, you should convert your bare metal nodes to hypervisors with low maintenance and use common tooling to start slaves Virtual Machines on those hypervisors.


Only top voted, non community-wiki answers of a minimum length are eligible