DevOps Optimizations using VSTS
Company Project Brief
Client required site-to-site connectivity between Azure and AWS cloud, along with point-to-site established to AWS. So, a wide area network is established between Azure and AWS over VPN. Also, employees working from home can connect to AWS over a point-to-site VPN tunnel.
- Team of developers are sitting in India location and working on application locally. Each developer works on individual module or feature of application.
- Once the module developed they should merge code and combine into application. Application will be test by lead developer and give approval for feature release for project manager for further testing and share the feedback.
- Project manager test and verify application feature and approve for further release to CTO & CEO to implement that feature on production server.
- They are using TFS (Team Foundation Service) locally to manage code repository
As per the current development process, company is facing below challenges:
- Code merging is one of the biggest challenge for developers to combine all the features developed by them and release build for testing
- Each time they have to create local repository and then follow some manual process to release build version of application Due to this development process takes longer time for releasing new features to application
- There was no automated process to test and deploy application for dev, stag and production environment
Company wanted to overcome development challenges and build robust build process for application development. The process should follow:
- System driven code merge for developers, so that they can get rid of manual process for code management
- Having right build process setup according to DevOps standards
- Configuring build process or workflow to release build version of application features using existing development tools Securing deployment process to prevent unauthorized application deployment
- Code version management to track product feature release and managing code repositories
Company wanted to achieve all the business objective using Cloud Services. Need centralized code management tool which helps in automating development process. Workflow process should map with existing development tools like Visual Studio 2017 and Git.
Creating project with VSTS is initial steps to automate build process. Developers can create project and manage individual branches under that project and release their newly developed module to the application. Creating individual branch resolves the problem of code management and developers can merge their application code in final repository.
Developer will push their respective code to their own branch in VSTS. Once the code tested and verified with no bugs, developers can perform pull request from their branch to staging branch and merge the code between their branch and staging branch.
By adding members to the project, they can edit code, build and release or receive emails alerts when changes made to code repository. Also, this process helped company to secure unauthorized code deployment and setup the proper approval process.
Creating Code Branch for Developers
Creating Project Repositories
Creating Project Build and Release
Once the build process successfully completed, it is time to push the generated Artifact (build and compiled code) to the server.
This is how overall solution delivered to company for DevOps optimization using Visual Studio Team Service, integration workflow process for code management and automate build release process for application development.