Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Deploy Multinode GitLab
Runner in openSUSE® 15.1
Instances with Ansible
Automation
Samsul Ma’arif – DevOps Engineer
samsul...
Hi, it is me…...
Samsul Ma’arif
DevOps Engineer @ DOT Indonesia
samsul@nacita.id
085747526846
https://www.linkedin.com/in/...
Community & Affiliation
Na
Na
Keyword< >
CI/CD, Docker, Ansible, GitLab CI,
openSUSE, Leap, Deployment
Outline< >
●
Short Introduction
●
GitLab & GitLab runner
●
CI/CD overview
●
Ansible
●
Schenario
●
Demo
About GitLab< >
●
A single application for the entire DevOps lifecycle
●
Open source project
●
Written in Rails
●
Continou...
GitLab Features< >
Continuous Integration is the practice of
integrating code into a shared repository and
building/testing each change autom...
Why we need CI/CD?
●
Continuous Integration
– Detects errors as quickly as possible
– Reduces integration problems
– Avoid...
GitLab CI/CD Workflow< >
GitLab CI/CD Architecture< >
GitLab Runner
●
Run pipeline jobs in GitLab
●
run the code defined in .gitlab-
ci.yml
●
Written in Go
●
no language specif...
GitLab Runner Executor
●
SSH
●
Shell
●
Parrallels
●
VirtualBox
●
Docker
●
Docker Machine
●
Kubernetes
●
Custom
GitLab Runner Requirement
●
It depends on:
– The type of executor you
configured on GitLab
Runner.
– Resources required to...
GitLab Runner types
●
Shared Runner
●
Specific Runner
●
Group Runner
GitLab Runner
●
Run pipeline jobs in GitLab
●
run the code defined in .gitlab-
ci.yml
●
Written in Go
●
no language specif...
Example .gitlab-ci.yml
Ansible Automation
●
Open Source
●
Configuration Management
●
Deployment tools
●
Written in Python
●
Cross platform
●
Orch...
Ansible Automation
●
Open Source
●
Configuration Management
●
Deployment tools
●
Written in Python
●
Cross platform
●
Orch...
●
Simple, use syntax written in
YAML called playbooks
●
Agentless
●
Powerfull and Flexible
●
Efficient
Why Ansible?
Ansible Modules
●
Module control system
resource, packages, files, or
nearly anything else
●
Over 450 ship with Ansible
●
...
●
OS Package
– Zypper
– APT
– EPEL
●
Also available from
– Pypi
– Source (via GitHub)
Install Ansible
Schenario
●
A machine with > 16Gb of RAM or multiple
machine with same or different specification
●
We use that machine as...
12:00-12.30
Demo
time
https://github.com/samsulmaarif/ansible-gitlab-runner
●
Prepare the openSUSE 15.1 VM
●
Clone the repo
●
Follow the tutoria...
●
https://about.gitlab.com/product/
continuous-integration/
●
https://docs.ansible.com
●
https://docs.gitlab.com
●
Referen...
Join the conversation,
contribute & have a lot of fun!
www.opensuse.org
Thank You
Finish
Upcoming SlideShare
Loading in …5
×

of

Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 1 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 2 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 3 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 4 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 5 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 6 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 7 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 8 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 9 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 10 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 11 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 12 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 13 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 14 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 15 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 16 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 17 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 18 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 19 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 20 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 21 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 22 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 23 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 24 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 25 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 26 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 27 Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation Slide 28
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation

Download to read offline

Implementing Continous Integration/Continous Delivery/Deployment (CI/CD) is one of DevOps practice. As a DevOps Engineer in a software house company, i used to manage tools to support software developer to deliver the software to the client. By implementing CI/CD, software delivery can be faster than any traditional/manual deployment.

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automation

  1. 1. Deploy Multinode GitLab Runner in openSUSE® 15.1 Instances with Ansible Automation Samsul Ma’arif – DevOps Engineer samsul@nacita.id DevOps Practice in openSUSE
  2. 2. Hi, it is me…... Samsul Ma’arif DevOps Engineer @ DOT Indonesia samsul@nacita.id 085747526846 https://www.linkedin.com/in/samsulmaarif
  3. 3. Community & Affiliation Na Na
  4. 4. Keyword< > CI/CD, Docker, Ansible, GitLab CI, openSUSE, Leap, Deployment
  5. 5. Outline< > ● Short Introduction ● GitLab & GitLab runner ● CI/CD overview ● Ansible ● Schenario ● Demo
  6. 6. About GitLab< > ● A single application for the entire DevOps lifecycle ● Open source project ● Written in Rails ● Continous Integration (CI/CD) ● Source Code Management ● Auto DevOps ● Agile Development https://about.gitlab.com
  7. 7. GitLab Features< >
  8. 8. Continuous Integration is the practice of integrating code into a shared repository and building/testing each change automatically, as early as possible - usually several times a day. Continuous Delivery adds that the software can be released to production at any time, often by automatically pushing changes to a staging system. Continuous Deployment goes further and pushes changes to production automatically. What is CI/CD?
  9. 9. Why we need CI/CD? ● Continuous Integration – Detects errors as quickly as possible – Reduces integration problems – Avoid compounding problems ● Continuous Delivery – Ensures every change is releasable – Lowers risk of each release – Delivers value more frequently – Tight customer feedback loops
  10. 10. GitLab CI/CD Workflow< >
  11. 11. GitLab CI/CD Architecture< >
  12. 12. GitLab Runner ● Run pipeline jobs in GitLab ● run the code defined in .gitlab- ci.yml ● Written in Go ● no language specific requirements are needed ● designed to run on the GNU/Linux, macOS, and Windows operating systems
  13. 13. GitLab Runner Executor ● SSH ● Shell ● Parrallels ● VirtualBox ● Docker ● Docker Machine ● Kubernetes ● Custom
  14. 14. GitLab Runner Requirement ● It depends on: – The type of executor you configured on GitLab Runner. – Resources required to run build jobs. – Job concurrency settings.
  15. 15. GitLab Runner types ● Shared Runner ● Specific Runner ● Group Runner
  16. 16. GitLab Runner ● Run pipeline jobs in GitLab ● run the code defined in .gitlab- ci.yml ● Written in Go ● no language specific requirements are needed ● designed to run on the GNU/Linux, macOS, and Windows operating systems
  17. 17. Example .gitlab-ci.yml
  18. 18. Ansible Automation ● Open Source ● Configuration Management ● Deployment tools ● Written in Python ● Cross platform ● Orchestration
  19. 19. Ansible Automation ● Open Source ● Configuration Management ● Deployment tools ● Written in Python ● Cross platform ● Orchestration
  20. 20. ● Simple, use syntax written in YAML called playbooks ● Agentless ● Powerfull and Flexible ● Efficient Why Ansible?
  21. 21. Ansible Modules ● Module control system resource, packages, files, or nearly anything else ● Over 450 ship with Ansible ● Enable regular users to easily work with complex systems ● But more on this later
  22. 22. ● OS Package – Zypper – APT – EPEL ● Also available from – Pypi – Source (via GitHub) Install Ansible
  23. 23. Schenario ● A machine with > 16Gb of RAM or multiple machine with same or different specification ● We use that machine as a Runner ● Install openSUSE 15.1 ● Install the runner on that machine ● Register the runner to GitLab instance ● Automate the installation and registration with Ansible
  24. 24. 12:00-12.30 Demo time
  25. 25. https://github.com/samsulmaarif/ansible-gitlab-runner ● Prepare the openSUSE 15.1 VM ● Clone the repo ● Follow the tutorial in README.md Resource for demo
  26. 26. ● https://about.gitlab.com/product/ continuous-integration/ ● https://docs.ansible.com ● https://docs.gitlab.com ● References
  27. 27. Join the conversation, contribute & have a lot of fun! www.opensuse.org
  28. 28. Thank You Finish

Implementing Continous Integration/Continous Delivery/Deployment (CI/CD) is one of DevOps practice. As a DevOps Engineer in a software house company, i used to manage tools to support software developer to deliver the software to the client. By implementing CI/CD, software delivery can be faster than any traditional/manual deployment.

Views

Total views

397

On Slideshare

0

From embeds

0

Number of embeds

71

Actions

Downloads

6

Shares

0

Comments

0

Likes

0

×