CI/CD
Continuous Integration &
Continuous Development
Self Introduction
Farhan Naufal
Ghani
Padalarang, Kab.
Bandung Barat
DevOps at GITS
Indonesia
Let’s know about me
Introduction
CI/CD
What is CI ?
● Continuous Integration in Indonesia means
● “Integrate” your code into automated process continuously
What is CD ?
Its can be ....
Continuous Delivery
-> Give the result to User or Anyone?
Continuous Deployment
-> Run my apps and share it
I call it ...
Continuous
Development
What is Benefit of CI/CD ?
Fast
Development
and
Feedbacks
Detect Issue
And
Fix it early
Minimize
Human Error
from nevercode.io Monitoring
Tools Integration for CI/CD
ETC ...
Introduction
Gitlab CI/CD and Runner
Gitlab CI/CD
● “Continuous Integration is
built-in to GitLab”
● Fully integrated with GitLab
https://about.gitlab.com/product/continuous-integration/
What is Gitlab Runner?
● Agent Gitlab CI installed on PC/Laptop or Server
● Container for run your CI
● Written in GO
● Configuration CI using .gitlab-ci.yml with YAML
You can see at : https://docs.gitlab.com/ee/ci/yaml/
Why Gitlab Runner?
● Multi-platform: Linux, OSX, Windows, Docker and etc ..
● Parallel builds
● Realtime logging
● Container Registry
Architecture
Before you begin
1. Create Repository and Push your code to repository or you already have
one
2. Deploy your Apps (Continuous Deployment) : Web Application or API
3. Create Step Pipeline
Before you begin
4. Create Step Procedure based on Pipeline you build
Example Build in VueJS:
$ npm install
$ npm run build
Example Test in VueJS:
$ npm run test:unit
Example Gitlab CI/CD using VueJS
● Using :
○ Linux Ubuntu 18.04 (Production)
○ Windows (Local Laptop)
● Web Server :
○ NGINX (Production)
○ XAMPP Apache (Local Laptop)
● Depedency :
○ Nodejs ver 10.X.X
Production URL :
https://gits-class.farhan.id
Gitlab Runner Labs :
http://bit.ly/gits-class-runner-labs
Repository :
https://gitlab.com/gits-class-15
Best Practice
● Android — CI / CD Getting Started
http://bit.ly/cicd-android
● CI/CD di iOS Menggunakan GitLab Runner
http://bit.ly/cicd-ios
● Docker Laravel NGINX w Gitlab CI/CD
http://bit.ly/cicd-docker-laravel
Production URL :
https://gits-class.farhan.id
Gitlab Runner Labs :
http://bit.ly/gits-class-runner-labs
Repository :
https://gitlab.com/gits-class-15
Thank You
Don’t forget to give us feedbacks
http://bit.ly/GITSClass16

GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with GitLab Runner

  • 1.
  • 2.
    Self Introduction Farhan Naufal Ghani Padalarang,Kab. Bandung Barat DevOps at GITS Indonesia Let’s know about me
  • 3.
  • 4.
    What is CI? ● Continuous Integration in Indonesia means ● “Integrate” your code into automated process continuously
  • 5.
    What is CD? Its can be .... Continuous Delivery -> Give the result to User or Anyone? Continuous Deployment -> Run my apps and share it I call it ... Continuous Development
  • 6.
    What is Benefitof CI/CD ? Fast Development and Feedbacks Detect Issue And Fix it early Minimize Human Error from nevercode.io Monitoring
  • 7.
    Tools Integration forCI/CD ETC ...
  • 8.
  • 9.
    Gitlab CI/CD ● “ContinuousIntegration is built-in to GitLab” ● Fully integrated with GitLab https://about.gitlab.com/product/continuous-integration/
  • 10.
    What is GitlabRunner? ● Agent Gitlab CI installed on PC/Laptop or Server ● Container for run your CI ● Written in GO ● Configuration CI using .gitlab-ci.yml with YAML You can see at : https://docs.gitlab.com/ee/ci/yaml/
  • 11.
    Why Gitlab Runner? ●Multi-platform: Linux, OSX, Windows, Docker and etc .. ● Parallel builds ● Realtime logging ● Container Registry
  • 12.
  • 13.
    Before you begin 1.Create Repository and Push your code to repository or you already have one 2. Deploy your Apps (Continuous Deployment) : Web Application or API 3. Create Step Pipeline
  • 14.
    Before you begin 4.Create Step Procedure based on Pipeline you build Example Build in VueJS: $ npm install $ npm run build Example Test in VueJS: $ npm run test:unit
  • 15.
    Example Gitlab CI/CDusing VueJS ● Using : ○ Linux Ubuntu 18.04 (Production) ○ Windows (Local Laptop) ● Web Server : ○ NGINX (Production) ○ XAMPP Apache (Local Laptop) ● Depedency : ○ Nodejs ver 10.X.X Production URL : https://gits-class.farhan.id Gitlab Runner Labs : http://bit.ly/gits-class-runner-labs Repository : https://gitlab.com/gits-class-15
  • 16.
    Best Practice ● Android — CI/ CD Getting Started http://bit.ly/cicd-android ● CI/CD di iOS Menggunakan GitLab Runner http://bit.ly/cicd-ios ● Docker Laravel NGINX w Gitlab CI/CD http://bit.ly/cicd-docker-laravel
  • 17.
    Production URL : https://gits-class.farhan.id GitlabRunner Labs : http://bit.ly/gits-class-runner-labs Repository : https://gitlab.com/gits-class-15
  • 18.
    Thank You Don’t forgetto give us feedbacks http://bit.ly/GITSClass16