We want to use GitLab CI to run JUnit tests periodically (every day) and to have a place to see the results of said tests.
Reading GitLab's docs, it seems that the artifacts:reports:junit directive automatically collects XML JUnit reports to display them in Merge Requests.
What I want to know is, are these visible in other places than merge request pages in the GitLab UI? Our tests are going to be ran based on a schedule, merge-request/push/commit pipelines are going to be entirely avoided.
What I want to know is, are these visible in other places than merge request pages in the GitLab UI?
Yes, for jobs that store artifacts there is a download button in GitLab UI Project -> CI/CD views.
Gitlab docs have all described with examples.
Related
I have got about 30+ services. Each service has it's own repository, build and release on different environments.
Is it possible to deploy all releases for the latest build artifacts on the specified environment by single command?
There isn’t the built-in command can do it, but you can build a app (e.g. console application, PowerShell) to create release through Rest API: Create a release
You can create an overarching Release pipeline that use all the build artifacts. The downsides of this option are:
duplication of "code" between the single-component pipeline and the overarching one, mitigate using Task Groups
you do not have a simple display of what is deployed in an environment because you have to look in two places (single-component and overarching)
I have an issue in hudson post build tasks,
I am using two plugin FTP Upload(which uploads artifacts to FTP server) and Post Build Tasks(which execute my external batch file).
Now my issue is that Post Build Tasks executes before FTP Upload, that should not happened, I want to execute batch file after completion of FTP upload. See my attached screenshot for reference. Any help will be appreciated.
Can't you just use FTP to upload the file in your batch file? Then you have full control of the ordering?
Later versions of Jenkins (after April 2012) allow you to reorder post-build actions as you wish.
There is also the Flexible Publish Plugin that allows ordering the post-build actions through conditions.
Is there a reason you are sticking with Hudson?
Edit
From official sources:
JIRA issues indicating this problem
https://issues.jenkins-ci.org/browse/JENKINS-7408
https://issues.jenkins-ci.org/browse/JENKINS-9381
Resolution by Kohsuke Kawaguchi (creator of Hudson/Jenkins). Unfortunately, the resolution is in Jenkins.
https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-dev/UQLvxQclyb4
So to answer your question directly: it is impossible in Hudson. Only thing you could try is workarounds with multiple jobs linked up. Let me know if this is something you would consider.
I'm in the process of building a Carbon Archive using the new WSO2 Developer Studio. I'm trying to work out how I can wrap the components (Sequences/Proxies etc) in JUnit tests. These tests will need to run as part of a CI build process (Jenkins) in order to detect errors with any modified code. I've done some research and can't seem to find anything that immediately stands out on how to achieve this. I did find this link https://wso2.org/jira/browse/TOOLS-855
which suggests that it hasn't yet been implemented. Can anyone confirm when this will be implemented or if there is any way at present to achieve this?
There is currently no straight forward way to implement this scenario and this feature will be supported in a future version.
One mechanism i can think is that, add a separate Test module as a part of the build which executes after building C-Apps.
So what happens in here is that, first Jenkins produce the CAR file for C-Apps. Then Maven start executing the JUnit test suite. Before the execution of Test Suite, you can configure maven to copy the CAR files to Servers and start up server. Then execute the Test Cases against the started up server.
This way you can deploy the new CAR files in your Carbon Server and execute the tests against the new configuration in the Server.
Thanks and Regards,
Harshana
I'm using the Hudson promoted build plugin to try an automatic deploy if all of the maven projects are good.
My setup is similar to the following
Hudson job creates a version control tag and then triggers downstream builds of projects A and B. A triggers a downstream project Z.
I currently have the promoted builds plugin listening for success of A,B,Z. But no promotion ever happens.
I currently don't have the project triggering all 3 since there is no point in building Z before A.
Any ideas?
I think you need to configure fingerprinting so that Jenkins can keep track of which downstream build tested which upstream build.
You could try the Build Pipeline Plugin, or take some inspiration from Kohsuke's recent blog post "Doing choreography/workflow with Jenkins CLI" (login with CloudBees/Google/GitHub account required) which should give you more freedom in orchestrating your jobs.
I am currently trying to use NAnt and CruiseControl.NET to manage various aspects of my software development. Currently, NAnt handles just about everything, including replacing environment specific settings (e.g., database connection strings) based on an input target that I specify on the command line.
CruiseControl.NET is used to build the application for the default environment (dev) anytime new code is committed. I also want CruiseControl.NET to invoke a build for my additional environments test and stage, but I do not want these to be automatically invoked every time that a dev build invoked (daily) as test and stage deployments happen far less frequently. Test and stage deployments only occur when the application is ready for QA.
I can easily do this by specifying multiple projects, one for each environment. However, I already have many projects configured, one for each milestone in within my application. If I have to setup 3 projects for each milestone the CruiseControl.NET configuration can get out of hand quickly.
Here is my question:
Can I parameterize a CruiseControl.NET project configuration such that the parameters are exposed by the web interface?
Preferably (I think), I could have checkboxes for each environment (e.g., dev, test, stage) exposed in the web interface. A build would be made for each environment that is checked, whether the build was forced or automatic. It would be even better if I could default the checked state.
This feature (Dynamic Build Parameters) is currently being worked on for 1.5, and you can try it out in the nightlies. Here's a post describing the feature.
As Scott has mentioned, this isn't available, but it wouldn't take too much just to write a little template and then auto-generate the ccnet.config file given that template and a list of environments in a mail-merge type way.
Unfortunately, you can't do anything like that with CruiseControl.NET. It's a good idea, so you might want to submit it as a feature request.
This is fully supported now starting with cruisecontrol 1.5: http://cruisecontrolnet.org/projects/ccnet/wiki/Parameters