DEV Community

Discussion on: How do you deploy your apps?

Collapse
 
mt3o profile image
mt3o

My team uses Jenkins, in future we might adopt CodeStar from AWS. Unfortunately, using 3rd party tools like GitLab in the cloud is not an option for security reasons. Perhaps it's possible, but getting this is way above my pay grade. On the other hand Jenkins gives you most control you can have. All jobs are pipelines in the code, stored in git.

Collapse
 
jsardev profile image
Jakub Sarnowski

Thanks for your reply!

Let me add one more question: you use Jenkins as a deployment tool, but how do you actually deploy your code? How do the scripts look like? Do you just copy your code to the remote server, or git pull on the target server and restart the app? How does it look like?

Collapse
 
mt3o profile image
mt3o • Edited

With Java - the deployment flow is two-part - one is to build the app and it's assets, and execute unit and integration tests, and put artifact into artifactory. Second part is about pushing stuff to one or multiple tomcats. Each time there is a loadbalancer that has to be disconnected, artifact to be deployed, sanity checks (both automated and manual), then loadbalancer reconnects, then we proceed to next server.

For some - flow is ansible based - put service down with systemd, upload new artifact, then bring it up

We work on having aws lambda, im currently finding the best approach, there is a package to be built, deploy as staging, run checks, promote to production build, and discard older versions.

There is also a package of static files that is deployed by just "git checkout".

Thread Thread
 
jsardev profile image
Jakub Sarnowski

Thank you! :)