• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Are creating build artifacts, running test cases and deploying, the 3 main parts of CICD

 
Ranch Hand
Posts: 2932
13
  • Number of slices to send:
    Optional 'thank-you' note:
CICD can have multiple steps in the pipeline but broadly are creating the build artifacts, running test cases and deploying the build artifacts, typically the 3 main parts of CICD pipeline ? Thanks
 
Saloon Keeper
Posts: 15624
366
  • Number of slices to send:
    Optional 'thank-you' note:
Does it matter how anybody chooses to classify parts of a pipeline?
 
Monica Shiralkar
Ranch Hand
Posts: 2932
13
  • Number of slices to send:
    Optional 'thank-you' note:
We have Jenkins pipeline in our project. I too push changes to our repo and run programs after those deploy but Jenkins pipeline has been a Blackbox for me. So instead of continuing to remain confused about what it does I thought of breaking what it does into parts. Although I don't know it fully, what I have understood far is that broadly it is doing 3 things for us: running test cases and if the test cases pass creates the build artifacts and then deploy it to cloud (using spinnaker).
 
Saloon Keeper
Posts: 27868
196
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:
Jenkins is an extremely powerful and flexible system. It can trigger builds off source code commits, and those builds can run tests and generate test reports to be posted to a project status website. It can also deploy directly in many cases, or feed to downstream provisioners as you desire.

Jenkins can do a lot of its magic directly, but it also leverages the tools it controls. For example, if a Maven build includes the "test" goal, that's what causes the tests to be run using the test runner Maven plugin and can cause them to be summarized and reported via the surefire-reports plugin.

It used to be that you could actually see a lot of this stuff for Apache projects, but I can't find any of it in public view these days.
 
Stephan van Hulst
Saloon Keeper
Posts: 15624
366
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:
Honestly, there is no way for us to classify your pipeline for you. Every pipeline is as different as the project itself and the team that set it up.

The only thing I can tell you for sure is that the pipeline first builds, then deploys.

Testing the software can be done as part of the build by the build tool, or it can be a separate step in the CI pipeline, or it can even be done at the very end after the software has been deployed, or any combination of the above. It completely depends on the team philosophy and on the project requirements.

If you want to understand your project's CI/CD pipeline, you should schedule a meeting with your team's DevOps engineer.
 
Monica Shiralkar
Ranch Hand
Posts: 2932
13
  • Number of slices to send:
    Optional 'thank-you' note:

Tim Holloway wrote:

Jenkins can do a lot of its magic directly, but it also leverages the tools it controls. For example, if a Maven build includes the "test" goal, that's what causes the tests to be run using the test runner Maven plugin and can cause them to be summarized and reported via the surefire-reports plugin.


Thanks. I understood this now.
 
Monica Shiralkar
Ranch Hand
Posts: 2932
13
  • Number of slices to send:
    Optional 'thank-you' note:

Stephan van Hulst wrote:
The only thing I can tell you for sure is that the pipeline first builds, then deploys.



But isn't that the only possible obvious order as you need to first build something in order to deploy it?

Stephan van Hulst wrote:

Testing the software can be done as part of the build by the build tool, or it can be a separate step in the CI pipeline, or it can even be done at the very end after the software has been deployed, or any combination of the above. It completely depends on the team philosophy and on the project requirements.



But if testing is done at the very end after the software has been deployed, then is it not a waste in some cases to even proceed if the test cases fail?
If the test cases fail, then shouldn't, it be not allowed to proceed to deploy and this should be the obvious order?
 
Stephan van Hulst
Saloon Keeper
Posts: 15624
366
  • Number of slices to send:
    Optional 'thank-you' note:

Monica Shiralkar wrote:But isn't that the only possible obvious order as you need to first build something in order to deploy it?


Which is why I told you it's the only thing I can tell you for sure.

But if testing is done at the very end after the software has been deployed, then is it not a waste in some cases to even proceed if the test cases fail?


In some cases yes. For instance, unit tests should happen before deployment. But note that I said that the pipeline can contain a combination of tests. Why should unit tests be the only kinds of tests I want the pipeline to execute?

If the test cases fail, then shouldn't, it be not allowed to proceed to deploy and this should be the obvious order?


What about GUI tests? Those can only be performed after the application has been deployed.
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:

Stephan van Hulst wrote:
What about GUI tests? Those can only be performed after the application has been deployed.



Not at all.  That's what systems like Selenium are for.
 
Stephan van Hulst
Saloon Keeper
Posts: 15624
366
  • Number of slices to send:
    Optional 'thank-you' note:
Doesn't Selenium just test what appears in the browser? Doesn't the application at least need to be deployed on a test server for that?
 
Tim Holloway
Saloon Keeper
Posts: 27868
196
  • Number of slices to send:
    Optional 'thank-you' note:

Stephan van Hulst wrote:Doesn't Selenium just test what appears in the browser? Doesn't the application at least need to be deployed on a test server for that?



I believe so. Although I've been reading up on Spring Integration Testing and I think it can maybe cover some of that.

One problem is that a lot of modern web GUIs need both a remote JavaScript engine and at least some simulation of host logic to respond. Selenium itself can likely fake out the client-side stuff, since it's in JavaScript anyway, but you'd still need to emulate a server. Which, I suppose is possible. Ah, I really don't know what I'm talking about here. I'd have to go refresh my Selenium know-how. But it's possible.

Spring Boot can likely do more, since Spring Boot contains its own servet/JSP engine anyhow. A GUI like Swing, of course, has its own testing needs.

As a rule, I do most of my application logic in business beans, which can simply be unit-tested. When I really need to test a GUI, it's likely to be as part of testing an entire workflow.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |