SlideShare une entreprise Scribd logo
1  sur  39
R, Git, Github, and 
CI 
TTaaiiwwaann RR UUsseerr GGrroouupp 
WWuusshh WWuu 
22001144--0099--2200
DSC 2014 
● 2014 is the first year of DSC(Data Science 
Conference) in Taiwan. 
● We (Taiwan R User Group) organizes the Tutorial 
Program of R in DSC. 
● There were more than 100 students joined us during 
DSC 2014. 
● The averaged rating is more than 4.2 (1 ~ 5).
Goal of Tutorial 
● Systematically introduce the analysis step with R 
– Basic 
– Data Manipulation(Extract, Transform and Loading) 
– Analysis 
– Visualization 
● Based on the latest tools of R 
● Reproducibility of examples 
● Integration of materials 
● *Well designed exercises
About Me 
● PhD Candidate in NTU EE 
● Current research field: 
– Online Advertisement 
– Large Scale Predictive Modeling 
● Organizer of Taiwan R User Group 
● Organizer of Tutorial Program in DSC 2014
Outline 
● Share the experience of organizing tutorial program 
with 16 people with: 
– Git, my favorite tool of version control 
– Github, a platform of cooperation 
– Jenkins, a system of automation 
● I will show how to cooperate these tools with R 
package
Why R Package 
● There are many dependency for examples and exercises 
● R package is the recommended way to share your code 
● Wrap all materials in one R Package: DSC2014Tutorial so the 
students only need to download once. 
– All slides are included. 
– Customized R API 
– All data 
– *Installation of depended packages 
– Solving issue of portability(Windows, Mac, and Ubuntu) 
● The package is easily managed by git and released on github
The structure of R package 
Dependencies 
● DESCRIPTION 
Package: DSC2014Tutorial 
Type: Package 
Title: Materials of Tutorial Program on 
DSC 2014 
Version: 1.2 
Date: 2014-08-03 
Author: Taiwan R User Group 
Maintainer: Wush Wu <wush978@gmail.com> 
Description: This package contains the 
required materials of R Tutorial 
DSC2014 
License: GPL (>= 3) 
Depends: 
R (>= 3.1.0) 
Imports: 
tools, 
...
The structure of R package 
Data 
● data 
data(salary, package = 'DSC2014Tutorial')
The structure of R package 
cross-platform 
● configure.ac / configure
The structure of R package 
slides and external source 
system.file('Basic', package = 
'DSC2014Tutorial')
Git, Version Control 
● Some speakers are new to git 
● We used the following feature: 
– Self version control: add, commit 
– Repository: remote, push, pull, and merge 
– Cooperation: submodul 
● Git plays the fundamental role in our workflow
Why Git? 
● Speed is king 
● Local commits rock 
● Github 
●My favorite
Github 
● Most popular platform for managing git 
repository 
● Provide many convenient features 
– Account of Organization 
– Designed for cooperation 
– Simple integration with many popular CI tools 
– Static website (Sufficient for R Repository)
Release R Package on Github 
● R is released as: 
– a git repository 
– a R repository
Github and R Repository 
● How to establish a R repository on github: 
1.Create a new git repository named 『R』 
2.Add the content of R repository into git repository in 
branch gghh--ppaaggeess 
3. Push and wait 
4. The R Repository is located at http://<account>.github.io/R 
● The user could install the binary of DSC2014Tutorial 
directly via 
install.packages(DSC2014Tutorial, repos = 
"http://TaiwanRUserGroup.github.io/R")
Cooperation 
● I cannot build all slides of tutorial 
– There are 7 slides built from different groups of speakers 
● Each slides should be managed by its author 
– Each slides is a standalone git repository 
– No branching here because not all speakers are familiear with 
git 
● Use gitsubmodule to embed these slides into R Package 
● We need modern work flow to control the quality
Workflow 1 
1.Each speakers creates the slides and initialize the git 
repository 
2.Speakers commit their changes to git repository 
3.Open the pull request 
4.Slide review and test on different platform 
5.Merge changes to DSC2014Tutorial
Commits
Pull Requests
Review
Merge
Slide Review 
● Each speakers review the slides of each others 
● The comment are posted to Issue of the github pages 
● The speaker should resolve the posted issue
Issues
Challenge 
● After the first rehearsal on Taiwan R User Group, 
we notice a serious encoding issue 
– Default chinese encoding is different
Challenge 
● We could resolve the specific issue 
● The slides are evolving, some bugs might occur 
● We need to test the slides, but there are 7 slides and 
we want to test them on Windows, ubuntu and mac*
Why CI 
● CI automates the following things 
– Testing 
– Integration 
– Deployment 
● CI makes me a better life 
● CI also introduces some problems. Let's discuss it 
later.
Test R Package 
● R CMD check --no-codoc --no-manual --no-vignettes 
–no-build-vignettes
Deploy R Package 
● git push 
● Commit to R Repository 
tools::write_PACKAGES( type = c("source", 
"mac.binary", "win.binary") )
R and CI 
travis-ci.org
Existed work for R and Travis-ci 
● https://github.com/craigcitro/r-travis/wiki
travis.yml 
language: c 
script: ./travis-tool.sh run_tests 
after_failure: 
- ./travis-tool.sh dump_logs 
before_install: 
- curl -OL http://raw.github.com/craigcitro/r-travis/ 
master/scripts/travis-tool.sh 
- chmod 755 ./travis-tool.sh 
- ./travis-tool.sh bootstrap 
- ./travis-tool.sh r_binary_install XML Rcpp knitr 
brew RUnit inline highlight formatR highr markdown rgl 
install: 
- ./travis-tool.sh install_deps 
- ./travis-tool.sh install_github hadley/testthat 
notifications: 
email: 
on_success: change 
on_failure: change 
env:
R and CI 
jenkins
Setup Jenkins 
● Github Plugin 
– http://sanketdangi.com/post/62740311628/integrate-jenkins- 
github-trigger-build-process 
● Github Pull Request Builder 
– http://www.kabisa.nl/building-github-pull-requests-with-jenkins/ 
● Firewall (open to 192.30.252.0/22)
Auto Testing
Result
Discussion 
● No Error v.s. No Warnings 
● Existed Problems: 
– Memory issue 
– Unknown Bugs 
– Unclear Message
Summary 
● Tutorial and R Package 
● Git and R Package 
● Github and R Package 
● CI and R Package
Q&A
Thanks for your listening

Contenu connexe

Tendances

Life-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestLife-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestElasTest Project
 
Building and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudBuilding and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudRodolfo Carvalho
 
BKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingBKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingLinaro
 
Default GitLab CI Pipeline - Auto DevOps
Default GitLab CI Pipeline - Auto DevOpsDefault GitLab CI Pipeline - Auto DevOps
Default GitLab CI Pipeline - Auto DevOpsRajith Bhanuka Mahanama
 
Python deployments on OpenShift 3
Python deployments on OpenShift 3Python deployments on OpenShift 3
Python deployments on OpenShift 3Rodolfo Carvalho
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...Linaro
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageLinaro
 
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)Fred Lin
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonAll Things Open
 
Influxdays Opentracing
Influxdays OpentracingInfluxdays Opentracing
Influxdays OpentracingInfluxData
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CIColCh
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Anne Nicolas
 
Uop ntc 324 entire course new
Uop ntc 324 entire course newUop ntc 324 entire course new
Uop ntc 324 entire course newmailemail
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabFilipa Lacerda
 
Angular 4 Training | Angular Js training in Hyderabad
Angular 4 Training | Angular Js training in HyderabadAngular 4 Training | Angular Js training in Hyderabad
Angular 4 Training | Angular Js training in HyderabadN Benchmark IT Solutions
 
This Week in Neo4j - 6th October 2018
This Week in Neo4j - 6th October 2018This Week in Neo4j - 6th October 2018
This Week in Neo4j - 6th October 2018Neo4j
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopGanesh Raju
 

Tendances (20)

Life-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestLife-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTest
 
Building and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudBuilding and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the Cloud
 
BKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testingBKK16-215 kernelci.org: beyond boot testing
BKK16-215 kernelci.org: beyond boot testing
 
Paris.py
Paris.pyParis.py
Paris.py
 
Default GitLab CI Pipeline - Auto DevOps
Default GitLab CI Pipeline - Auto DevOpsDefault GitLab CI Pipeline - Auto DevOps
Default GitLab CI Pipeline - Auto DevOps
 
FTC6 Jean-Emmanuel Rodriguez welcome Frogans Technology 6 2016/02/16
FTC6 Jean-Emmanuel Rodriguez welcome Frogans Technology 6 2016/02/16FTC6 Jean-Emmanuel Rodriguez welcome Frogans Technology 6 2016/02/16
FTC6 Jean-Emmanuel Rodriguez welcome Frogans Technology 6 2016/02/16
 
Python deployments on OpenShift 3
Python deployments on OpenShift 3Python deployments on OpenShift 3
Python deployments on OpenShift 3
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
 
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by Python
 
Influxdays Opentracing
Influxdays OpentracingInfluxdays Opentracing
Influxdays Opentracing
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Optimizing and Profiling Golang Rest Api
Optimizing and Profiling Golang Rest ApiOptimizing and Profiling Golang Rest Api
Optimizing and Profiling Golang Rest Api
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
 
Uop ntc 324 entire course new
Uop ntc 324 entire course newUop ntc 324 entire course new
Uop ntc 324 entire course new
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at Gitlab
 
Angular 4 Training | Angular Js training in Hyderabad
Angular 4 Training | Angular Js training in HyderabadAngular 4 Training | Angular Js training in Hyderabad
Angular 4 Training | Angular Js training in Hyderabad
 
This Week in Neo4j - 6th October 2018
This Week in Neo4j - 6th October 2018This Week in Neo4j - 6th October 2018
This Week in Neo4j - 6th October 2018
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 

En vedette

社群對我職涯的影響
社群對我職涯的影響社群對我職涯的影響
社群對我職涯的影響Wush Wu
 
Making greek christmas chocolate treats for our friends
Making greek christmas chocolate treats for our friendsMaking greek christmas chocolate treats for our friends
Making greek christmas chocolate treats for our friendsPefkoula Stagia
 
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !WomenAntiCoup
 
Kuopion ideaklinikka tavoitetila hankinnalle 012015
Kuopion ideaklinikka tavoitetila hankinnalle 012015Kuopion ideaklinikka tavoitetila hankinnalle 012015
Kuopion ideaklinikka tavoitetila hankinnalle 012015Games for Health Finland
 
Week 1 risen the jesus you never knew 515pm media
Week 1 risen the jesus you never knew 515pm mediaWeek 1 risen the jesus you never knew 515pm media
Week 1 risen the jesus you never knew 515pm mediaJose Ramos
 
Essential Tips For Building An Ecommerce Website
Essential Tips For Building An Ecommerce Website Essential Tips For Building An Ecommerce Website
Essential Tips For Building An Ecommerce Website designs.codes
 
March 27 2016 HIS LAMBS
March 27 2016 HIS LAMBSMarch 27 2016 HIS LAMBS
March 27 2016 HIS LAMBSJose Ramos
 
The 2nd Games for Health Finland event - Koopee Hiltunen
The 2nd Games for Health Finland event - Koopee HiltunenThe 2nd Games for Health Finland event - Koopee Hiltunen
The 2nd Games for Health Finland event - Koopee HiltunenGames for Health Finland
 
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015WomenAntiCoup
 
Центральний банк в банківській системі України
Центральний банк в банківській системі УкраїниЦентральний банк в банківській системі України
Центральний банк в банківській системі УкраїниНастя Корабахина
 
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكري
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكريملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكري
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكريWomenAntiCoup
 
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case Kuopio
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case KuopioNopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case Kuopio
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case KuopioGames for Health Finland
 
Rabaa Massacre | 2 years on (English report)
Rabaa Massacre | 2 years on (English report)Rabaa Massacre | 2 years on (English report)
Rabaa Massacre | 2 years on (English report)WomenAntiCoup
 

En vedette (20)

社群對我職涯的影響
社群對我職涯的影響社群對我職涯的影響
社群對我職涯的影響
 
Ict in education
Ict in educationIct in education
Ict in education
 
тема 8
тема 8тема 8
тема 8
 
Kairu
KairuKairu
Kairu
 
Making greek christmas chocolate treats for our friends
Making greek christmas chocolate treats for our friendsMaking greek christmas chocolate treats for our friends
Making greek christmas chocolate treats for our friends
 
20150923 mindtrek korhonen taltioni
20150923 mindtrek korhonen taltioni20150923 mindtrek korhonen taltioni
20150923 mindtrek korhonen taltioni
 
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !
الإهمال الطبي والقتل البطئ والإعدام ..واقع نساء مصر في سجون الانقلاب !
 
Kuopion ideaklinikka tavoitetila hankinnalle 012015
Kuopion ideaklinikka tavoitetila hankinnalle 012015Kuopion ideaklinikka tavoitetila hankinnalle 012015
Kuopion ideaklinikka tavoitetila hankinnalle 012015
 
Week 1 risen the jesus you never knew 515pm media
Week 1 risen the jesus you never knew 515pm mediaWeek 1 risen the jesus you never knew 515pm media
Week 1 risen the jesus you never knew 515pm media
 
Essential Tips For Building An Ecommerce Website
Essential Tips For Building An Ecommerce Website Essential Tips For Building An Ecommerce Website
Essential Tips For Building An Ecommerce Website
 
March 27 2016 HIS LAMBS
March 27 2016 HIS LAMBSMarch 27 2016 HIS LAMBS
March 27 2016 HIS LAMBS
 
The 2nd Games for Health Finland event - Koopee Hiltunen
The 2nd Games for Health Finland event - Koopee HiltunenThe 2nd Games for Health Finland event - Koopee Hiltunen
The 2nd Games for Health Finland event - Koopee Hiltunen
 
тема 5
тема 5тема 5
тема 5
 
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015
تقريريرصدالانتهاكات بحق المرأة - في الفترة من3يوليو2013حتي نوفمبر2015
 
Центральний банк в банківській системі України
Центральний банк в банківській системі УкраїниЦентральний банк в банківській системі України
Центральний банк в банківській системі України
 
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكري
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكريملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكري
ملخص تقرير نساء ضد الانقلاب - عامين علي الانقلاب العسكري
 
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case Kuopio
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case KuopioNopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case Kuopio
Nopeilla kokeiluilla uusia hyvinvointi- ja terveysinnovaatiota, Case Kuopio
 
Rabaa Massacre | 2 years on (English report)
Rabaa Massacre | 2 years on (English report)Rabaa Massacre | 2 years on (English report)
Rabaa Massacre | 2 years on (English report)
 
тема 1
тема 1тема 1
тема 1
 
Risen 1
Risen 1Risen 1
Risen 1
 

Similaire à R, Git, Github, and CI

Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Chandan Kumar
 
Delivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoDelivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoChandan Kumar
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsGR8Conf
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack SummitMiguel Zuniga
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
PHP QA Tools
PHP QA ToolsPHP QA Tools
PHP QA Toolsrjsmelo
 
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group   nov 8th - drupal 7.32 security vulnerabilityHong kong drupal user group   nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerabilityAnn Lam
 
Hong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8thHong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8thWong Hoi Sing Edison
 
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group   nov 8th - drupal 7.32 security vulnerabilityHong kong drupal user group   nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerabilityAnn Lam
 
R Programming Overview
R Programming Overview R Programming Overview
R Programming Overview dlamb3244
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
 
Guiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise landGuiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise landDariusz Łuksza
 
The 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringThe 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringSolano Labs
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017MarcinStachniuk
 

Similaire à R, Git, Github, and CI (20)

Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
Delivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoDelivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdo
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 
RPM Factory for RDO
RPM Factory for RDORPM Factory for RDO
RPM Factory for RDO
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
PHP QA Tools
PHP QA ToolsPHP QA Tools
PHP QA Tools
 
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group   nov 8th - drupal 7.32 security vulnerabilityHong kong drupal user group   nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
 
Hong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8thHong Kong Drupal User Group - Nov 8th
Hong Kong Drupal User Group - Nov 8th
 
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group   nov 8th - drupal 7.32 security vulnerabilityHong kong drupal user group   nov 8th - drupal 7.32 security vulnerability
Hong kong drupal user group nov 8th - drupal 7.32 security vulnerability
 
R Programming Overview
R Programming Overview R Programming Overview
R Programming Overview
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Guiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise landGuiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise land
 
The 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringThe 10 Commandments of Release Engineering
The 10 Commandments of Release Engineering
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 

Plus de Wush Wu

Predicting winning price in real time bidding
Predicting winning price in real time biddingPredicting winning price in real time bidding
Predicting winning price in real time biddingWush Wu
 
機器學習的技術債
機器學習的技術債機器學習的技術債
機器學習的技術債Wush Wu
 
R 語言上手篇
R 語言上手篇R 語言上手篇
R 語言上手篇Wush Wu
 
利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境Wush Wu
 
Predicting Winning Price in Real Time Bidding with Censored Data
Predicting Winning Price in Real Time Bidding with Censored DataPredicting Winning Price in Real Time Bidding with Censored Data
Predicting Winning Price in Real Time Bidding with Censored DataWush Wu
 
Introduction of Feature Hashing
Introduction of Feature HashingIntroduction of Feature Hashing
Introduction of Feature HashingWush Wu
 
Online advertising and large scale model fitting
Online advertising and large scale model fittingOnline advertising and large scale model fitting
Online advertising and large scale model fittingWush Wu
 

Plus de Wush Wu (7)

Predicting winning price in real time bidding
Predicting winning price in real time biddingPredicting winning price in real time bidding
Predicting winning price in real time bidding
 
機器學習的技術債
機器學習的技術債機器學習的技術債
機器學習的技術債
 
R 語言上手篇
R 語言上手篇R 語言上手篇
R 語言上手篇
 
利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境
 
Predicting Winning Price in Real Time Bidding with Censored Data
Predicting Winning Price in Real Time Bidding with Censored DataPredicting Winning Price in Real Time Bidding with Censored Data
Predicting Winning Price in Real Time Bidding with Censored Data
 
Introduction of Feature Hashing
Introduction of Feature HashingIntroduction of Feature Hashing
Introduction of Feature Hashing
 
Online advertising and large scale model fitting
Online advertising and large scale model fittingOnline advertising and large scale model fitting
Online advertising and large scale model fitting
 

Dernier

Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 

Dernier (20)

Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 

R, Git, Github, and CI

  • 1. R, Git, Github, and CI TTaaiiwwaann RR UUsseerr GGrroouupp WWuusshh WWuu 22001144--0099--2200
  • 2. DSC 2014 ● 2014 is the first year of DSC(Data Science Conference) in Taiwan. ● We (Taiwan R User Group) organizes the Tutorial Program of R in DSC. ● There were more than 100 students joined us during DSC 2014. ● The averaged rating is more than 4.2 (1 ~ 5).
  • 3. Goal of Tutorial ● Systematically introduce the analysis step with R – Basic – Data Manipulation(Extract, Transform and Loading) – Analysis – Visualization ● Based on the latest tools of R ● Reproducibility of examples ● Integration of materials ● *Well designed exercises
  • 4. About Me ● PhD Candidate in NTU EE ● Current research field: – Online Advertisement – Large Scale Predictive Modeling ● Organizer of Taiwan R User Group ● Organizer of Tutorial Program in DSC 2014
  • 5. Outline ● Share the experience of organizing tutorial program with 16 people with: – Git, my favorite tool of version control – Github, a platform of cooperation – Jenkins, a system of automation ● I will show how to cooperate these tools with R package
  • 6. Why R Package ● There are many dependency for examples and exercises ● R package is the recommended way to share your code ● Wrap all materials in one R Package: DSC2014Tutorial so the students only need to download once. – All slides are included. – Customized R API – All data – *Installation of depended packages – Solving issue of portability(Windows, Mac, and Ubuntu) ● The package is easily managed by git and released on github
  • 7. The structure of R package Dependencies ● DESCRIPTION Package: DSC2014Tutorial Type: Package Title: Materials of Tutorial Program on DSC 2014 Version: 1.2 Date: 2014-08-03 Author: Taiwan R User Group Maintainer: Wush Wu <wush978@gmail.com> Description: This package contains the required materials of R Tutorial DSC2014 License: GPL (>= 3) Depends: R (>= 3.1.0) Imports: tools, ...
  • 8. The structure of R package Data ● data data(salary, package = 'DSC2014Tutorial')
  • 9. The structure of R package cross-platform ● configure.ac / configure
  • 10. The structure of R package slides and external source system.file('Basic', package = 'DSC2014Tutorial')
  • 11. Git, Version Control ● Some speakers are new to git ● We used the following feature: – Self version control: add, commit – Repository: remote, push, pull, and merge – Cooperation: submodul ● Git plays the fundamental role in our workflow
  • 12. Why Git? ● Speed is king ● Local commits rock ● Github ●My favorite
  • 13. Github ● Most popular platform for managing git repository ● Provide many convenient features – Account of Organization – Designed for cooperation – Simple integration with many popular CI tools – Static website (Sufficient for R Repository)
  • 14. Release R Package on Github ● R is released as: – a git repository – a R repository
  • 15. Github and R Repository ● How to establish a R repository on github: 1.Create a new git repository named 『R』 2.Add the content of R repository into git repository in branch gghh--ppaaggeess 3. Push and wait 4. The R Repository is located at http://<account>.github.io/R ● The user could install the binary of DSC2014Tutorial directly via install.packages(DSC2014Tutorial, repos = "http://TaiwanRUserGroup.github.io/R")
  • 16. Cooperation ● I cannot build all slides of tutorial – There are 7 slides built from different groups of speakers ● Each slides should be managed by its author – Each slides is a standalone git repository – No branching here because not all speakers are familiear with git ● Use gitsubmodule to embed these slides into R Package ● We need modern work flow to control the quality
  • 17. Workflow 1 1.Each speakers creates the slides and initialize the git repository 2.Speakers commit their changes to git repository 3.Open the pull request 4.Slide review and test on different platform 5.Merge changes to DSC2014Tutorial
  • 21. Merge
  • 22. Slide Review ● Each speakers review the slides of each others ● The comment are posted to Issue of the github pages ● The speaker should resolve the posted issue
  • 24. Challenge ● After the first rehearsal on Taiwan R User Group, we notice a serious encoding issue – Default chinese encoding is different
  • 25. Challenge ● We could resolve the specific issue ● The slides are evolving, some bugs might occur ● We need to test the slides, but there are 7 slides and we want to test them on Windows, ubuntu and mac*
  • 26. Why CI ● CI automates the following things – Testing – Integration – Deployment ● CI makes me a better life ● CI also introduces some problems. Let's discuss it later.
  • 27. Test R Package ● R CMD check --no-codoc --no-manual --no-vignettes –no-build-vignettes
  • 28. Deploy R Package ● git push ● Commit to R Repository tools::write_PACKAGES( type = c("source", "mac.binary", "win.binary") )
  • 29. R and CI travis-ci.org
  • 30. Existed work for R and Travis-ci ● https://github.com/craigcitro/r-travis/wiki
  • 31. travis.yml language: c script: ./travis-tool.sh run_tests after_failure: - ./travis-tool.sh dump_logs before_install: - curl -OL http://raw.github.com/craigcitro/r-travis/ master/scripts/travis-tool.sh - chmod 755 ./travis-tool.sh - ./travis-tool.sh bootstrap - ./travis-tool.sh r_binary_install XML Rcpp knitr brew RUnit inline highlight formatR highr markdown rgl install: - ./travis-tool.sh install_deps - ./travis-tool.sh install_github hadley/testthat notifications: email: on_success: change on_failure: change env:
  • 32. R and CI jenkins
  • 33. Setup Jenkins ● Github Plugin – http://sanketdangi.com/post/62740311628/integrate-jenkins- github-trigger-build-process ● Github Pull Request Builder – http://www.kabisa.nl/building-github-pull-requests-with-jenkins/ ● Firewall (open to 192.30.252.0/22)
  • 36. Discussion ● No Error v.s. No Warnings ● Existed Problems: – Memory issue – Unknown Bugs – Unclear Message
  • 37. Summary ● Tutorial and R Package ● Git and R Package ● Github and R Package ● CI and R Package
  • 38. Q&A
  • 39. Thanks for your listening