Reputation: 192
Edit ;
this is an explanation of step by step our deployment and release model
Our server side developers develop and commit/push their code to github. CI server that Jenkins is located in poll SCM and fetch changes than build. (within CI server), run unit tests. After building process and deploying artifacts to repository server (artifactory server) Then CI server starts to deploy latest successful build into Development Server. then client mobile developers can develop on latest successful snapshot build of server side. These are our standard deployment process.
By the way,
We are also doing test deployment to test server via CI server with another different job on Jenkins (same CI server) but, this is handling/triggering by manual.
Preproduction and production transitions are done by manual also. (preproduction and production are different servers of course)
Questions;
Integration tests should be run on test server. How can i figure it out by building system on remote CI server instead of building system on the same machine (test server) ?
As a further step, what would the best option be to construct a Continuous Delivery system. ? Thanks
Upvotes: 2
Views: 2154
Reputation: 6129
A good approach is to have a single CI system that builds the system continuously as development makes changes. This build will on each build run all the unit tests as well and result in some kind of package that can be deployed. That can be further connected with automation that deploys and runs other tests or it can be used by e.g. testers to further test the system.
Depending on your release model and branching strategy as well as type of system/product this basic setup can be adjusted to fit your needs.
If you want more details please explain what you build and how you release/deploy.
Upvotes: 1