1. Bo-Yi Wu LaravelConf @ 2017.07.01 1 2. DevOps Golang, PHP, Node.js .. Go Gitea Gin Drone appleboy @GitHub appleboy @twitter appleboy @slideshare appleboy46 @facebook 2 3. Develop CI CD 4. 4 https://labs.mediatek.com/en 5. 6. 6 *2 *1 *1 *1 7. 7 *2 *1 *1 *1 8. 8 *2 *1 *1 *1 9. 9 10. https://laravel.com/docs/5.4/homestead 10 11. VirtualBox Homestead Nginx (MySQL or Postgres?) . 11 12. 12 13. Homestead 13 14. 14 15. 15 16. 16 17. 17 18. 18 19. 19 20. 20 *2 *1 *1 *1 21. Docker 21 https://www.slideshare.net/appleboy/docker-61214768 22. docker-compose 22 23. docker-compose -p $(PROJECT) up -d 23 24. docker-compose -p $(PROJECT) stop 24 25. docker-compose -p $(PROJECT) ps 25 26. docker-compose -p $(PROJECT) down 26 27. docker exec $(container) php artisan migrate 27 28. docker-compose -p $(PROJECT)build --no-cache $(container) 28 29. docker-compose exec $(container) /bin/bash 29 30. 30 31. 31 http://laradock.io/ 32. 32 Container 33. 34. 34 35. 35 36. 36 Nginx Docker 37. 37 38. 38 39. 39 40. 40 41. 41 42. 42 43. 43 44. 44 45. 45 46. 46 47. .env 47 48. 48 docker-compose.yml 49. 49 50. 50 51. 51 52. 52 git clone .env Docker PHP Node DB Migration 53. 53 git clone .env Docker PHP Node DB Migration 54. vendor or node_modules 54 55. 55 56. 56 composer.json 57. 57 58. yarn config set cache-folder .yarn-cache 58 59. 59 package.json 60. 60 61. 61 62. 62 63. 63 64. 64 http://epicentre.co.uk/testing-services/test2/ 65. 65 66. 66 67. Develop CI CD 68. 68 69. 69 70. 70 71. Github Flow vs Git Flow 71 72. 72 Develop Git Push Git Tag Develop Git Push Git Tag Testing Deploy Deploy Deploy Production Staging Production Testing Deploy Staging 73. CI / CD 73 74. 74 Jenkins Drone Gitlab CI 75. 75 Jenkins Gitlab CI 76. 76 77. (Container) CI/CD 77 78. Everything is a Docker Container 78 79. 79 80. .drone.yml 80 81. 81 82. 82 git clone https:// 83. 83 Git tag 84. 84 85. 85 86. 86 87. 87 88. 88 89. 89 90. 90 91. 91 92. 92 93. 93 94. Drone Workspace Clone Build Deploy 95. 95 plugin image 96. 96 plugin image 97. [skip cache] or [cache skip] 97 98. 98 99. 99 plugin image 100. 100 101. 101 plugin image 102. 102 103. 103 104. 105 105. 106 106. 107 107. 108 108. https://github.com/go-training/drone-laravel-example 109 109. 110 110. Plugin PHP, Ruby, Bash, Go, Python 111. 112. PLUGIN_ 113. https://github.com/appleboy/drone-php-curl 121 114. http://bit.ly/oneday-devops 122 115. 123 116. 124