10
votes
Stronger Unit Tests Unearth Many Bugs, What to do re Validations?
Am I stating the obvious?
The best practice, here, is: "Talk to Your Manager."
This check-in will have repercussions and you know it, it could scramble the workflow, people could decide to ...
8
votes
Are scrum and a stable development build a contradiction?
Has nothing to do with Scrum. Your build should be continuously stable, regardless.
Nobody should check anything in unless they've performed a local build and run the unit tests locally (and both ...
7
votes
Accepted
Are scrum and a stable development build a contradiction?
A couple of basic principles first:
- Major changes should always be on a feature branch in your VCS
- Feature branches should pass all tests before merge into trunk. Added
- Commits should always ...
6
votes
Are scrum and a stable development build a contradiction?
Your problem seems to be that tests take too long to run. Fortunately, Moore's law has provided us with a solution to that problem. Today, high-end server CPUs may easily have over 10 cores (and over ...
6
votes
Stronger Unit Tests Unearth Many Bugs, What to do re Validations?
nUnit has [Ignore] annotation. I would guess other testing frameworks have similar way to ignore test cases.
Any test runner then shows how many tests were ignored. So you can track how many tests ...
5
votes
Accepted
Jenkins: rsync from built workspace or pull from original repository and build again
I would deploy directly from the Jenkins workspace. The reason is that if you're performing git pull, it may pull newer version than what Jenkins built. Of course, "git checkout SHA1" could save your ...
4
votes
Accepted
Build on each commit - Continuous delivery
Most, if not all CI platforms limit you to a single build per project/branch.
If your developers are working on separate branches, then you may indeed have concurrent isolated builds. This may cause ...
4
votes
Accepted
What are Build Teams, Build Farms and Build Servers?
Build Server: a server running a CI application such as Jenkins.
This is the server actually running the build. The build slave. Jenkins and other CI products don't always run the coordination ...
4
votes
shared CD (Continuous Deployment) for multiple Git repositories
IMHO the root cause of your problem is attempting to manage an entire system (frontend + backend) while still allowing each one of the parts to move independently and without the proper tool support ...
3
votes
Accepted
Release pipeline - Which artifact goes in production?
There are two parts to the answer here:
1. Fast-forward merging
Merging release into master must be a fast-forward merge. This means that, to merge the branches, git does not actually have to touch ...
3
votes
Accepted
When to write a Jenkins plugin?
To my mind, a Jenkins plugin allows you to build a simple interface for large and complex behavior, usually involving some kind of integration. What you probably need is the Shared Library feature:
...
3
votes
Accepted
Using private NuGet repository and Jenkins to handle dependencies
I would like to be able to have any changes pushed to C trigger a nuget update and build of B and then A.
I wouldn't.
When you change C, you shouldn't care about B or A, since those are not your ...
3
votes
How to increase maintainability in CI/CD pipelines
The answer is simple, don't make complicated pipelines with shared templates and custom scripts!
It's a common mistake at large companies. You want to standardise and "make things easy" with ...
2
votes
Accepted
How to keep track of maven dependency updates in projects?
Consider using dependency-check
https://www.owasp.org/index.php/OWASP_Dependency_Check
It has a Maven plugin and command line tool. You can use it to warn you if you use "dangerous" dependency ...
2
votes
Are scrum and a stable development build a contradiction?
Is it not possible to have more Jenkins installations and having the developers check on a separate Jenkins instance ?
I would think the best solution here is to have the code pass all the tests ...
2
votes
Accepted
Organizing Jenkins around SVN branches and deployment environments
I'm going to suggest you move to a slightly more complex but far more flexible system. Basically, I recommend you shift away from SVN branches that are linked to environments. We used this for several ...
2
votes
Nightly Builds Test against real database
Some integration and system tests do, indeed, rely on a database in order to run.
This being said:
Be aware that tests that do rely on a database are slower than unit tests, by a factor of hundreds ...
2
votes
Finding convincing arguments to explain a poorly designed continuous integration pipeline
Honestly your current process doesn't sound that bad.
You are building and running tests against dev rather than feature branches. But this is fairly common and shouldn't be a problem for small ...
2
votes
Nightly Builds Test against real database
Although Arseni Mourzenko's answer covers a lot of the points, it's important to make a distinction between different databases.
Tests, especially those that manipulate data, should probably be run ...
2
votes
Does Jenkins essentially function like a package manager for your software product?
Jenkins is more of an orchestrator than a package manager, but a package manager is a fairly complex idea that made up of many parts. The power of Jenkins is being able to define a small step/process, ...
2
votes
Accepted
Does Jenkins essentially function like a package manager for your software product?
What are the differences between a package manager and Jenkins ?
A package manager:
Is a local tool usually present on the same system where software is intended to be installed.
Does nothing other ...
1
vote
Nightly Builds Test against real database
Yes. That is the point of Integration tests.
An integration test is there to prove that you program, and program X play nicely together. This cannot be verified without program X really being there. ...
1
vote
Should I pull to another job workspace or should I push from it the 2nd job dependencies?
Pulling it could make it easier to manage in the future and extensible.
You can decide what to do If the pulled binary was not found.
Imagine having multiple pipelines pushing. You would want even ...
1
vote
Using a db as part of CI
I think there's a few problems going on here, but we might be able to address a few of them.
However, that could cause a conflict between concurrent builds by different developers, if they attempt ...
1
vote
Deploy a NodeJs (FrontEnd) and a Spring (BackEnd) project as one artefact
Q: Is this a job of Jenkins, to copy all needed files together?
Yes, it's. There are a couple of ways you could do this :
Different jobs. One for the backend, a second for the SPA and one more for ...
1
vote
Deploy a NodeJs (FrontEnd) and a Spring (BackEnd) project as one artefact
Ant or Maven are usually used for this. For example, Apache Wicket calls npm and Grunt from within the pom.xml:
<artifactId>wicket-js-tests</artifactId>
<packaging>jar</packaging&...
Community wiki
1
vote
Accepted
How to test web service
You can test your "Report" by making it webservice independant through a java interface like this:
public interface ReportApi {
void getReport(String templateName, Date orderDate, Date printDate)...
1
vote
Are scrum and a stable development build a contradiction?
Point (2) seems to be the most painful point, so I will focus on that.
It might be time to break the project into multiple modules.
https://en.wikipedia.org/wiki/Dependency_inversion_principle
A....
1
vote
Accepted
Deploy Jenkins manually or using orchestration?
In short, probably yes - after checking with whoever asked you to do it. I'm not sure how Salt works (as I work with Puppet), but it'd be worth checking if someone online hasn't already handled a lot ...
1
vote
Best practices for marking build tarballs as unit/component test passed
You could use character codes to signal pending, passed or failed builds.
app.SS.tar
The first S means the unit tests were successful. The second S means the component tests were successful.
So ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
jenkins × 59continuous-integration × 31
continuous-delivery × 8
git × 7
maven × 7
java × 6
unit-testing × 5
testing × 5
version-control × 5
deployment × 5
workflows × 4
github × 3
integration-tests × 3
svn × 3
dependencies × 3
hudson × 3
architecture × 2
php × 2
development-process × 2
code-quality × 2
versioning × 2
team-foundation-server × 2
dependency-management × 2
automation × 2
release × 2