user2666282
user2666282

Reputation: 373

Continuous delivery for a Java EE application

We have a Java EE web application that we want to put in a continuous delivery pipeline. I'm new to this and have a few questions - How will the pipeline look like? (Given we use Git/Jenkins/Maven/Artifactory) What are the tests that should be created and when should they be run? Any other suggestions?

Thanks Yana

Upvotes: 0

Views: 620

Answers (1)

MikeJRamsey56
MikeJRamsey56

Reputation: 2819

Stories are reviewed by the team prior to start of work. Don't time box (e.g. sprints), rather build stories in a continuous pipe. Test determines which tests will be automated and which will be performed manually. Test pyramid comes into play. Use tools like rest-assured (Java) or HTTParty et al for Ruby (plenty of choices with Ruby) to test web endpoints in the service layer (speed is key for CI). Pure UI tests should be about 10% of the total automated tests. UI tests take the longest to run. Pick UI tests that exercise as much client side JavaScript as possible. You can use automated screenshot comparison tools like Applitools et al to speed regression tests for UI. BTW, I only mention tools as for examples. I am not endorsing any tool or product. Do your own research.

Jenkins (or TeamCity) steps might look like:

  1. Build App
  2. (depends on step 1) run unit tests
  3. (depends on step 2) run service layer tests
  4. (depends on step 2) run UI layer tests
  5. (depends on steps 3 & 4) deploy to Test

Once in Test, run any manual validations (e.g. look and feel).

Deploy to production once or more times a week (10 PM is popular).

Run automated production smoke (e.g. read-only tests that read DB/BI with service layer and compare to UI displayed values) to verify production deployment. Have tested back out procedures. :-)

Upvotes: 1

Related Questions