Guest User

blue-green-deployment_dmitry_vasiliev

a guest
Feb 11th, 2023
1,037
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. pipeline {
  2. agent any
  3.  
  4. stages {
  5. stage('SonarQube Analysis') {
  6. steps {
  7. sh 'sonar-scanner \
  8. -Dsonar.host.url=https://sonarqube.awesome-app.com \
  9. -Dsonar.login=$SONAR_TOKEN \
  10. -Dsonar.projectKey=my-web-app \
  11. -Dsonar.sources=. \
  12. -Dsonar.java.binaries=.'
  13. }
  14. }
  15.  
  16. stage('Build') {
  17. steps {
  18. sh 'docker build -t my-web-app .'
  19. }
  20. }
  21.  
  22. stage('Push') {
  23. steps {
  24. sh 'docker login docker.pkg.github.com -u $GITHUB_USERNAME -p $GITHUB_TOKEN'
  25. sh 'docker tag my-web-app docker.pkg.github.com/$GITHUB_USERNAME/my-web-app:$BUILD_NUMBER'
  26. sh 'docker push docker.pkg.github.com/$GITHUB_USERNAME/my-web-app:$BUILD_NUMBER'
  27. }
  28. }
  29.  
  30. stage('Deploy Green') {
  31. steps {
  32. sh 'kubectl apply -f green-deployment.yaml'
  33. sh 'kubectl rollout status deployment/green-deployment'
  34. sh 'kubectl expose deployment green-deployment --type=LoadBalancer --name=green-service'
  35. }
  36. }
  37.  
  38. stage('Test Green') {
  39. steps {
  40. sh 'curl https://green-service.com:443'
  41. }
  42. }
  43.  
  44. stage('Switch Traffic') {
  45. when {
  46. expression { return env.SWITCH_TRAFFIC == 'true' }
  47. }
  48. steps {
  49. sh 'kubectl apply -f blue-green-service.yaml'
  50. }
  51. }
  52.  
  53. stage('Deploy Blue') {
  54. when {
  55. expression { return env.SWITCH_TRAFFIC == 'true' }
  56. }
  57. steps {
  58. sh 'kubectl apply -f blue-deployment.yaml'
  59. sh 'kubectl rollout status deployment/blue-deployment'
  60. sh 'kubectl expose deployment blue-deployment --type=LoadBalancer --name=blue-service'
  61. }
  62. }
  63.  
  64. stage('Test Blue') {
  65. when {
  66. expression { return env.SWITCH_TRAFFIC == 'true' }
  67. }
  68. steps {
  69. sh 'curl https://blue-service.com:443'
  70. }
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment