Press Space to continue
Test and Deploy fastly and continuously your web application
Stategies: nightly build, on commit, on demand
Getting the code every developer has on its IDE. Code should be hosted in a Source Code Management (SCM) like Git, SVN...
Project's libraries should not be hosted in SCM because it is not part of source code, it is only tools that the code uses to run perfectly
There are many tools to download libraries, depending on the project language
e.g.: Maven, Composer, Bower, Cocoapods...
For languages that compiles code (like Java), this is a part of creating a product. Project must be compiled to be understood by the machine. This is also a kind of a test: the 1st one.
A project without tests is not qualitative. Developer MUST test the application by writing some Unit Tests (UT) and (for very qualitative projects) User Interface Tests (UIT).
So, this phase runs tests and fails Continuous Integration Process if at least 1 test fails.
At this phase, we know that the project compiles and is qualitative. We can make a product of the project. The product will be deployed later. A product should be a single file. e.g.: war, jar, phar, zip, tar.gz, rpm, ipa...
We have the product. Now, a developer/customer/Product Owner may want to test it. So the product is deployed on a server.
Use some parts of CI to create a real product, immuable and made for a production environment.
Getting the code every developer has on its IDE. Code should be hoste in a Source Code Management (SCM) like Git, SVN...
Project's libraries should not be hosted in SCM because it is not part of source code, it is only tools that the code uses to run perfectly
There are many tools to download libraries, depending on the project language
e.g.: Maven, Composer, Bower, Cocoapods...
For languages that compiles code (like Java), this is a part of creating a product. Project must be compiled to be understood by the machine. This is also a kind of a test: the 1st one.
A project without tests is not qualitative. Developer MUST test the application by writing some Unit Tests (UT) and (for very qualitative projects) User Interface Tests (UIT).
So, this phase a ajout to run tests and fail Continuous Integration Process if at least 1 test fails.
At this phase, we know that the project compiles and is qualitative. We can make a product of the project. The product will be deployed later. A product should be a single file. e.g.: war, jar, phar, zip, tar.gz, rpm, ipa...
To be sure we can regenerate the product from the source code, you have to make it immutable using tags in SCM.
Save the product and make it accessible for the team in charge of deploying it in a production environment.
You have to adapt the theory on each project, on each language. Web and mobile projects are differents; PHP and Java are different too!