Upgrade to Pro — share decks privately, control downloads, hide ads and more …

๐ŸŠ ARM your continuous integration system with fruits! ๐ŸŒ

785e783fa5b01bb225aecde8ce2af08c?s=47 Poddingue
December 01, 2018

๐ŸŠ ARM your continuous integration system with fruits!ย ๐ŸŒ

Being able to build/test/deploy on a remote machine each time we commit has been a major progress for us, developers. ๐Ÿš€

Furthermore, by using Docker, things have been so much easier! No more dependency hell when you have to build and test two incompatible products.

This solution looks almost perfectโ€ฆ until you reach a threshold.

As your Gitlab-ci will become more and more popular within your organization, you may experience longer waiting queues until the next batch of Runners is released.

So you may go from praising the CI to cursing the CI.

You maybe have a Raspberry Pi taking dust on your desk or in your drawer. Whatโ€™s the point? Whatโ€™s the connection with the CI?

Wellโ€ฆ What if I told you you could transform this momentarily useless piece of hardware into a brand new Gitlab-ci Runner? This way, you could shorten the time your jobs spend in the queue.

But wait, there is more. What if there was a cheaper solution that could allow you to create a Gitlab-ci Runner for a 15โ‚ฌ investment? You may have heard about Banana Pi, Orange Pi, and other variations of fruit Pi(e). The competition is harsh between these manufacturers, and you can find pretty nifty machines for darn cheap. These machine can run Docker, and even Gitlab-Runner on top of it.

What if you could even build Docker images through CI on these machines?

Is this even possible?

It is. You shall leave this talk by knowing the basics to start your own Gitlab Runner for 15โ‚ฌ.

785e783fa5b01bb225aecde8ce2af08c?s=128

Poddingue

December 01, 2018
Tweet

Transcript

  1. Bruno Verachten bruno.verachten atos.net ARM your continuous integration system with

    fruits! poddingue
  2. Bruno Verachten ARM your ci system with fruits!

  3. Bruno Verachten ARM your ci system with fruits!

  4. Bruno Verachten ARM your ci system with fruits!

  5. Bruno Verachten ARM your ci system with fruits! SBC STANDS

    FoR Single Board Computer
  6. Bruno Verachten ARM your continuous integration system with fruits! Judge

    me by my size, do you?
  7. Bruno Verachten ARM your continuous integration system with fruits! Judge

    me by my size, do you?
  8. Bruno Verachten What iS Gitlab?

  9. Bruno Verachten โ€ข GitLab Community Edition CE What is Gitlab

    CE?
  10. Bruno Verachten โ€ข GitLab Community Edition CE What is Gitlab

    CE?
  11. Bruno Verachten โ€ข GitLab Enterprise Edition EE What is Gitlab

    EE?
  12. Bruno Verachten โ€ข GitLab Enterprise Edition EE What is Gitlab

    EE?
  13. Bruno Verachten โ€ข GitLab Enterprise Edition EE What is Gitlab

    EE?
  14. Bruno Verachten โ€ข Source control or revision control software What

    is Gitlab/Source control?
  15. Bruno Verachten โ€ข Source control or revision control software What

    is Gitlab/Source control?
  16. Bruno Verachten What is Gitlab? Continous deployment

  17. Bruno Verachten What is Gitlab? Continous deployment

  18. Bruno Verachten What is Gitlab? Continous deployment

  19. Bruno Verachten โ€ข Continuous Integration What is Gitlab? Continuous integration

  20. Bruno Verachten โ€ข Continuous Integration What is Gitlab? Continuous integration

  21. Bruno Verachten What iS Gitlab-Ci?

  22. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform

  23. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language
  24. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable
  25. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds
  26. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds โ€ข Realtime logging
  27. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds โ€ข Realtime logging โ€ข Versioned tests
  28. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds โ€ข Realtime logging โ€ข Versioned tests โ€ข Pipeline
  29. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds โ€ข Realtime logging โ€ข Versioned tests โ€ข Pipeline โ€ข Build artifacts
  30. Bruno Verachten Continuous integration with Gitlab โ€ข Multi platform โ€ข

    Multi language โ€ข Stable โ€ข Parallel builds โ€ข Realtime logging โ€ข Versioned tests โ€ข Pipeline โ€ข Build artifacts โ€ข Docker support
  31. Bruno Verachten Continuous integration with Gitlab

  32. Bruno Verachten Continuous integration with Gitlab

  33. Bruno Verachten Continuous integration with Gitlab

  34. Bruno Verachten Continuous integration with Gitlab

  35. Bruno Verachten โ€ข Continuous integration with Gitlab

  36. Bruno Verachten โ€ข Continuous integration with Gitlab

  37. Bruno Verachten โ€ข Continuous integration with Gitlab

  38. Bruno Verachten โ€ข Continuous integration with Gitlab

  39. Bruno Verachten โ€ข Continuous integration with Gitlab

  40. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  41. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  42. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  43. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  44. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  45. Bruno Verachten โ€ข Ci with Gitlab / RUNNERS

  46. Bruno Verachten โ€ข Continuous integration with Gitlab

  47. Bruno Verachten โ€ข Continuous integration with Gitlab

  48. Bruno Verachten โ€ข Continuous integration with Gitlab

  49. Bruno Verachten โ€ข Continuous integration with Gitlab

  50. Bruno Verachten โ€ข Continuous integration with Gitlab

  51. Bruno Verachten What is A Runner/SHARED

  52. Bruno Verachten โ€ข Why would you need your own Runner?

  53. Bruno Verachten โ€ข

  54. Bruno Verachten โ€ข Why would you need your own Runner?

  55. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  56. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  57. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  58. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  59. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  60. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  61. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  62. Bruno Verachten โ€ข Why would you need your own ARM

    Runner?
  63. Bruno Verachten Letโ€™s install a Runner

  64. Bruno Verachten Direct installation

  65. Bruno Verachten Direct installation

  66. Bruno Verachten Direct installation

  67. Bruno Verachten Direct installation

  68. Bruno Verachten Registration

  69. Bruno Verachten Registration

  70. Bruno Verachten Registration

  71. Bruno Verachten Registration

  72. Bruno Verachten Registration

  73. Bruno Verachten Registration

  74. Bruno Verachten Registration

  75. Bruno Verachten Registration/Executor

  76. Bruno Verachten Registration/Executor

  77. Bruno Verachten Registration/Executor

  78. Bruno Verachten Registration/Executor

  79. Bruno Verachten Letโ€™s install aN ARM Runner

  80. Bruno Verachten โ€ข Docker image Klud โ€ข And thatโ€™s all

    folks, can you believe it? Why a Raspberry Pi?
  81. Bruno Verachten โ€ข Docker image Klud โ€ข And thatโ€™s all

    folks, can you believe it? Why a Raspberry Pi?
  82. Bruno Verachten Docker on Pi? Really?

  83. Bruno Verachten Docker on Pi? Really?

  84. Bruno Verachten Docker on Pi? Really?

  85. Bruno Verachten Docker on Pi? Really?

  86. Bruno Verachten Rapsberry pi Distro

  87. Bruno Verachten Rapsberry pi Distro

  88. Bruno Verachten 38 โ€ข What ifโ€ฆ Docker on Pi? Really?

  89. Bruno Verachten 38 โ€ข What ifโ€ฆ Docker on Pi? Really?

  90. Bruno Verachten 38 โ€ข What ifโ€ฆ Docker on Pi? Really?

  91. Bruno Verachten Downloading and installing the Hypriot Distro 39

  92. Bruno Verachten Downloading and installing the Hypriot Distro 39

  93. Bruno Verachten 40 Writing the Hypriot image

  94. Bruno Verachten 40 Writing the Hypriot image REAL

  95. Bruno Verachten 40 Writing the Hypriot image REAL GENUiNE

  96. Bruno Verachten 41 Writing the Hypriot image REAL GENUiNE

  97. Bruno Verachten 41 Writing the Hypriot image REAL

  98. Bruno Verachten 42 Booting THE Pi for the first time

  99. Bruno Verachten 42 Booting THE Pi for the first time

  100. Bruno Verachten 42 Booting THE Pi for the first time

  101. Bruno Verachten 42 Booting THE Pi for the first time

  102. Bruno Verachten 42 Booting THE Pi for the first time

  103. Bruno Verachten 43 Find the Pi ip

  104. Bruno Verachten 43 Find the Pi ip

  105. Bruno Verachten 43 Find the Pi ip

  106. Bruno Verachten 43 Find the Pi ip

  107. Bruno Verachten 44 Machine name and user password

  108. Bruno Verachten 44 Machine name and user password

  109. Bruno Verachten 44 Machine name and user password

  110. Bruno Verachten 44 Machine name and user password

  111. Bruno Verachten 45 Proxy settings / APT

  112. Bruno Verachten 45 Proxy settings / APT

  113. Bruno Verachten 45 Proxy settings / APT

  114. Bruno Verachten 45 Proxy settings / APT

  115. Bruno Verachten 45 Proxy settings / APT

  116. Bruno Verachten 46 Proxy settings / Docker

  117. Bruno Verachten 46 Proxy settings / Docker

  118. Bruno Verachten 46 Proxy settings / Docker

  119. Bruno Verachten 46 Proxy settings / Docker

  120. Bruno Verachten 46 Proxy settings / Docker

  121. Bruno Verachten 46 Proxy settings / Docker

  122. Bruno Verachten 47 Docker / Date

  123. Bruno Verachten 48 Almost there

  124. Bruno Verachten 48 Almost there

  125. Bruno Verachten 48 Almost there

  126. Bruno Verachten 49 Gitlab runner registration

  127. Bruno Verachten 49 Gitlab runner registration

  128. Bruno Verachten 49 Gitlab runner registration

  129. Bruno Verachten 49 Gitlab runner registration

  130. Bruno Verachten 50 Gitlab runner / building Docker images

  131. Bruno Verachten 50 Gitlab runner / building Docker images

  132. Bruno Verachten 50 Gitlab runner / building Docker images

  133. Bruno Verachten 50 Gitlab runner / building Docker images

  134. Bruno Verachten 51 Gitlab runner / building Docker images

  135. Bruno Verachten 51 Gitlab runner / building Docker images

  136. Bruno Verachten 51 Gitlab runner / building Docker images

  137. Bruno Verachten 51 Gitlab runner / building Docker images

  138. Bruno Verachten 51 Gitlab runner / building Docker images

  139. Bruno Verachten Letโ€™s install a cheap arm runner 52

  140. Bruno Verachten Letโ€™s install a cheap arm runner 52

  141. Bruno Verachten 53 Gitlab runner for 9

  142. Bruno Verachten 53 Gitlab runner for 9

  143. Bruno Verachten 53 Gitlab runner for 9

  144. Bruno Verachten 53 Gitlab runner for 9

  145. Bruno Verachten 54 Gitlab runner for 9 on armbian

  146. Bruno Verachten 54 Gitlab runner for 9 on armbian

  147. Bruno Verachten 54 Gitlab runner for 9 on armbian

  148. Bruno Verachten 55 Choose your fruit in the basket

  149. Bruno Verachten 55 Choose your fruit in the basket

  150. Bruno Verachten 55 Choose your fruit in the basket

  151. Bruno Verachten 55 Choose your fruit in the basket

  152. Bruno Verachten 55 Choose your fruit in the basket

  153. Bruno Verachten 55 Choose your fruit in the basket

  154. Bruno Verachten 56 Gitlab runner for 9 on armbian

  155. Bruno Verachten 56 Gitlab runner for 9 on armbian

  156. Bruno Verachten 56 Gitlab runner for 9 on armbian

  157. Bruno Verachten 57 Gitlab runner for 9 on armbian

  158. Bruno Verachten 57 Gitlab runner for 15 on armbian

  159. Bruno Verachten 57 Gitlab runner for 15 on armbian

  160. Bruno Verachten 57 Gitlab runner for 15 on armbian

  161. Bruno Verachten 57 Gitlab runner for 15 on armbian

  162. Bruno Verachten What about exotic hardware? 58

  163. Bruno Verachten Gitlab runner on exotic hardware

  164. Bruno Verachten Gitlab runner on exotic hardware

  165. Bruno Verachten Gitlab runner on exotic hardware

  166. Bruno Verachten Gitlab runner on other hardware

  167. Bruno Verachten SoC STANDS for System on Chip Gitlab runner

    on other hardware
  168. Bruno Verachten SoC STANDS for System on Chip Gitlab runner

    on other hardware
  169. Bruno Verachten SoC STANDS for System on Chip Gitlab runner

    on other hardware
  170. Bruno Verachten ARM64: Status 62

  171. Bruno Verachten ARM64 STATUS

  172. Bruno Verachten ARM64 STATUS

  173. Bruno Verachten ARM64 STATUS

  174. Bruno Verachten 64 Takeaways

  175. Bruno Verachten 64 Takeaways

  176. Bruno Verachten 64 Takeaways

  177. Bruno Verachten 64 Takeaways

  178. Bruno Verachten 64 Takeaways

  179. Bruno Verachten 64

  180. Bruno Verachten 64 Takeaways

  181. Bruno Verachten 64 Takeaways

  182. Bruno Verachten 64 Takeaways

  183. Bruno Verachten 64 Takeaways

  184. Bruno Verachten Thanks For more information please contact: Poddingue bruno.verachten

    atos.net