Submit Search
Upload
Continuous Integration with Gitlab
•
0 likes
•
275 views
J
Junyoung Park
Follow
With Gitlab CI, Docker Registry, Fabric
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 16
Download now
Download to read offline
Recommended
Drupal Form Api
Drupal Form Api
Amit Kumar Singh
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
Jesper van Engelen
About Neural Network
About Neural Network
Junyoung Park
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Danilo Poccia
Continuous Integration
Continuous Integration
Preetam Palwe
Continuous Integration
Continuous Integration
Jean-Pol Landrain
03 - Continuous Integration
03 - Continuous Integration
Sergii Shmarkatiuk
01 - Introduction to Version Control
01 - Introduction to Version Control
Sergii Shmarkatiuk
Recommended
Drupal Form Api
Drupal Form Api
Amit Kumar Singh
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
Jesper van Engelen
About Neural Network
About Neural Network
Junyoung Park
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Danilo Poccia
Continuous Integration
Continuous Integration
Preetam Palwe
Continuous Integration
Continuous Integration
Jean-Pol Landrain
03 - Continuous Integration
03 - Continuous Integration
Sergii Shmarkatiuk
01 - Introduction to Version Control
01 - Introduction to Version Control
Sergii Shmarkatiuk
jQuery Bay Area Conference 2010
jQuery Bay Area Conference 2010
mennovanslooten
Pruebas unitarias con django
Pruebas unitarias con django
Tomás Henríquez
Тестирование и Django
Тестирование и Django
MoscowDjango
Django (Web Konferencia 2009)
Django (Web Konferencia 2009)
Szilveszter Farkas
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015
Fernando Daciuk
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
Fastly
Python Unit Test
Python Unit Test
David Xie
Creating an Uber Clone - Part XXXIV - Transcript.pdf
Creating an Uber Clone - Part XXXIV - Transcript.pdf
ShaiAlmog1
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Mamoon Ismail Khalid
Unit test
Unit test
David Xie
How I started to love design patterns
How I started to love design patterns
Samuel ROZE
ngMess: AngularJS Dependency Injection
ngMess: AngularJS Dependency Injection
Dzmitry Ivashutsin
inception.docx
inception.docx
SAIEFEDDINEELAMRI
Refactoring domain driven design way
Refactoring domain driven design way
Andi Pangeran
Practical Celery
Practical Celery
Cameron Maske
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018
Justin James
Flask 소수전공 강의자료 - 3차시
Flask 소수전공 강의자료 - 3차시
Junha Jang
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful Security
Ryan Weaver
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Amazon Web Services
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Amazon Web Services
Quantitive Algorithm Trading
Quantitive Algorithm Trading
Junyoung Park
K-Means Clustering
K-Means Clustering
Junyoung Park
More Related Content
Similar to Continuous Integration with Gitlab
jQuery Bay Area Conference 2010
jQuery Bay Area Conference 2010
mennovanslooten
Pruebas unitarias con django
Pruebas unitarias con django
Tomás Henríquez
Тестирование и Django
Тестирование и Django
MoscowDjango
Django (Web Konferencia 2009)
Django (Web Konferencia 2009)
Szilveszter Farkas
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015
Fernando Daciuk
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
Fastly
Python Unit Test
Python Unit Test
David Xie
Creating an Uber Clone - Part XXXIV - Transcript.pdf
Creating an Uber Clone - Part XXXIV - Transcript.pdf
ShaiAlmog1
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Mamoon Ismail Khalid
Unit test
Unit test
David Xie
How I started to love design patterns
How I started to love design patterns
Samuel ROZE
ngMess: AngularJS Dependency Injection
ngMess: AngularJS Dependency Injection
Dzmitry Ivashutsin
inception.docx
inception.docx
SAIEFEDDINEELAMRI
Refactoring domain driven design way
Refactoring domain driven design way
Andi Pangeran
Practical Celery
Practical Celery
Cameron Maske
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018
Justin James
Flask 소수전공 강의자료 - 3차시
Flask 소수전공 강의자료 - 3차시
Junha Jang
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful Security
Ryan Weaver
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Amazon Web Services
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Amazon Web Services
Similar to Continuous Integration with Gitlab
(20)
jQuery Bay Area Conference 2010
jQuery Bay Area Conference 2010
Pruebas unitarias con django
Pruebas unitarias con django
Тестирование и Django
Тестирование и Django
Django (Web Konferencia 2009)
Django (Web Konferencia 2009)
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
Python Unit Test
Python Unit Test
Creating an Uber Clone - Part XXXIV - Transcript.pdf
Creating an Uber Clone - Part XXXIV - Transcript.pdf
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Detect Negative and Positive sentiment in user reviews using python word2vec ...
Unit test
Unit test
How I started to love design patterns
How I started to love design patterns
ngMess: AngularJS Dependency Injection
ngMess: AngularJS Dependency Injection
inception.docx
inception.docx
Refactoring domain driven design way
Refactoring domain driven design way
Practical Celery
Practical Celery
Angular Unit Testing NDC Minn 2018
Angular Unit Testing NDC Minn 2018
Flask 소수전공 강의자료 - 3차시
Flask 소수전공 강의자료 - 3차시
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful Security
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
More from Junyoung Park
Quantitive Algorithm Trading
Quantitive Algorithm Trading
Junyoung Park
K-Means Clustering
K-Means Clustering
Junyoung Park
Common Design for Distributed Machine Learning
Common Design for Distributed Machine Learning
Junyoung Park
AWS EMR + Spark ML
AWS EMR + Spark ML
Junyoung Park
Kaggle KKBox Churn Prediction
Kaggle KKBox Churn Prediction
Junyoung Park
Spark config
Spark config
Junyoung Park
Cloudera & Zookeeper
Cloudera & Zookeeper
Junyoung Park
한국어 자연어처리 101
한국어 자연어처리 101
Junyoung Park
Docker Intro
Docker Intro
Junyoung Park
Python Testing for Flask
Python Testing for Flask
Junyoung Park
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word Embedding
Junyoung Park
Clustering, k means algorithm
Clustering, k means algorithm
Junyoung Park
About SVM
About SVM
Junyoung Park
More from Junyoung Park
(13)
Quantitive Algorithm Trading
Quantitive Algorithm Trading
K-Means Clustering
K-Means Clustering
Common Design for Distributed Machine Learning
Common Design for Distributed Machine Learning
AWS EMR + Spark ML
AWS EMR + Spark ML
Kaggle KKBox Churn Prediction
Kaggle KKBox Churn Prediction
Spark config
Spark config
Cloudera & Zookeeper
Cloudera & Zookeeper
한국어 자연어처리 101
한국어 자연어처리 101
Docker Intro
Docker Intro
Python Testing for Flask
Python Testing for Flask
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word Embedding
Clustering, k means algorithm
Clustering, k means algorithm
About SVM
About SVM
Recently uploaded
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Jhone kinadey
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
kellynguyen01
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
ABDERRAOUF MEHENNI
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ComplianceQuest1
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
SolGuruz
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
kalichargn70th171
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
MyIntelliSource, Inc.
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
kalichargn70th171
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ICS
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Steffen Staab
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
Wave PLM
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
Recently uploaded
(20)
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
Continuous Integration with Gitlab
1.
About Continuous Integration
2.
CI ? ! ? ? , !
3.
(Continuous Integration) CI Test
.
4.
Testing
5.
Unit testing Functional testing Integration
testing ,
6.
Test Tutorial class AppTest(unittest.TestCase): def
setUp(self): self.app = app.test_client() self.access_token = self.token() def token(self, username, password): p = self.app.post('/signin', data=dict( id=username, pw=password ), follow_redirects=True) result = json.loads(p.data) self.assertEqual(result['e_msg'].get('status'), 200) return result['access_token']
7.
Test Signin def test_signin(self): #
Invalid Username p = self.app.post('/signin', data=dict( id=username + 'xxx', pw=password )) result = json.loads(p.data) self.assertEqual(result['e_msg'].get('message'), 'User not fo # Invalid Password p = self.app.post('/signin', data=dict( id=username, pw=password + 'x' )) result = json.loads(p.data) self.assertEqual(result['e_msg'].get('message'), 'User id or
8.
Test Signup def test_signup(self): ##
User Already Exists p = self.app.post('/signup', data=dict( id=username, pw=password )) result = json.loads(p.data) self.assertEqual(result['e_msg'].get('message'), 'User alread # Signup Successful p = self.app.post('/signup', data=dict( id=username + 'x', pw=password )) result = json.loads(p.data) self.assertEqual(result['e_msg'].get('status'), 200)
9.
Pytest Plugin pytest‑pep8 :
, PEP8 pytest‑cov : pytest‑xdist :
10.
Test Command Backend API pytest
‑s backend/ Backend API user API pytest ‑s backend/users PEP8 pytest ‑‑pep8 ‑m pep8 PEP8 Backend API pytest ‑‑pep8 ‑s backend/
11.
Deploy / Setup
Automation
12.
Deploy / Setup
Automation 1000 ? ! http://www.fabfile.org/ Fabric ? ! $ fab create $ fab deploy $ fab build $ fab test
13.
Gitlab CI Gitlab DigitalOcean
CI ! Ubuntu-Ruby Docker Gitlab Registry Gitlab Docker Registry ! Docker Registry ? private docker image repository
14.
Gitlab CI Docker Docker
Runner .
15.
CI process 1. User
Gitlab Push , 2. Gitlab CI Gitlab Registry Docker image 3. Docker image centos‑python‑mysql 4. requirements.txt 5. 1 : Runner job 6. 2 : pytest (PEP8) 7. 3 : AWS EC2 deploy 8. Slack
16.
, (Blue‑Green Deployment)
Download now