You are building a continuous deployment pipeline for a project stored in a Git source repository and want to ensure that code changes can be verified before deploying to production. What should you do?
A.
Use Spinnaker to deploy builds to production using the red/black deployment strategy so that changes can easily be rolled back.
B.
Use Spinnaker to deploy builds to production and run tests on production deployments.
C.
Use Jenkins to build the staging branches and the master branch. Build and deploy changes to production for 10% of users before doing a complete rollout.
D.
Use Jenkins to monitor tags in the repository. Deploy staging tags to a staging environment for testing. After testing, tag the repository for production and deploy that to the production environment.
I believe the best answer is D, because the tagging is a best practice that is recommended on Jenkins/Spinnaker to deploy the right code and prevent accidentally (or intentionally) push of wrong code to production environments. See https://stackify.com/continuous-delivery-git-jenkins/
congrats for passing the exam. practising all 255 questions is sufficient for passing the exam? how much percentage of questions you got from here roughly?
1. Clear separation of environments: Using separate staging and production environments ensures that code changes are thoroughly tested before they reach your users. This minimizes the risk of introducing bugs or regressions into production.
2. Controlled deployments: Tagging the repository for different stages (staging, production) provides a clear and auditable way to track which code versions are deployed in each environment. This makes it easier to roll back to a previous version if necessary.
3. Jenkins for automation: Jenkins is a powerful automation server that can monitor your Git repository for new tags, automatically build and deploy the code to the appropriate environment, and even trigger automated tests.
4. Comprehensive testing: A staging environment allows you to perform comprehensive testing, including integration testing, user acceptance testing (UAT), and performance testing, before deploying to production.
I don't think it was a good idea when new edtion be created and directly deploy to the production ENV without any testing stage even using Canary deployment.
The question states: "... code changes can be verified BEFORE deploying to production", it eliminates option C.
The approach of tagging is the correct practise that DevOps use
I choose D as we want to ensure that code changes can be verified BEFORE deploying to production. Option C suggests that we build and deploy changes to production for 10% of users.
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
Googler2
Highly Voted 4 years, 7 months agoZiegler
4 years, 5 months agoAzureDP900
2 years, 1 month agozr79
2 years, 1 month agoAnish17
Highly Voted 4 years, 3 months agobnlcnd
3 years, 10 months agoGunaGCP123
3 years, 1 month agozr79
2 years, 1 month agoRzla
3 years, 2 months agowinset
3 years, 9 months agoEkramy_Elnaggar
Most Recent 4 days, 13 hours agosim7243
1 week, 6 days agobkovari
9 months agoashishdwi007
10 months agoblackhawk86
1 year, 2 months agomegumin
2 years agoBiddlyBdoyng
2 years, 1 month ago[Removed]
2 years, 8 months ago[Removed]
2 years, 8 months agoDavidik79
2 years, 8 months ago[Removed]
2 years, 10 months agohantanbl
2 years, 10 months agoDavidik79
2 years, 8 months agoblackhawk86
1 year, 2 months agolxgywil
2 years, 10 months agoOrangeTiger
2 years, 10 months agoOrangeTiger
2 years, 10 months agovincy2202
2 years, 11 months agoABO_Doma
2 years, 11 months ago