SlideShare a Scribd company logo
1 of 10
New Relic
• Development on Mac laptops
• CI, Staging and Production on Linux
• REE-1.8.7-2010.02 and Ruby 1.9.3-p125
Development
• Developer laptops
• MacOS 10.7
• osx-gcc-installer
• Many apps all running as the developer
RVM
$ curl -L https://get.rvm.io | bash -s stable


$ source /Users/newrelic/.rvm/scripts/rvm


$ rvm install ree-1.8.7-2010.02


There has been an error while trying to run the ree installer.
Halting the installation.


Oh that’s right, the old REE doesn’t build with the new LLVM compiler! Manually
specify the compiler and try again.


$ CC=/usr/bin/gcc-4.2 rvm reinstall ree-1.8.7-2010.02
RVM
$ ruby -v


ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin11.3.0], MBARI
0x6770, Ruby Enterprise Edition 2010.02


$ which ruby


/Users/newrelic/.rvm/rubies/ree-1.8.7-2010.02/bin/ruby


$ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]'


 '--prefix=/Users/newrelic/.rvm/rubies/ree-1.8.7-2010.02' '--
enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc-4.2'
rbenv + ruby-build
                       (with Homebrew)
$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/
mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"


$ brew update


$ brew install rbenv


$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)";
fi' >> ~/.profile


$ brew install ruby-build


$ rbenv install ree-1.8.7-2010.02
rbenv + ruby-build
                    (with Homebrew)
$ rbenv shell ree-1.8.7-2010.02


$ ruby -v
ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin11.3.0], MBARI
0x6770, Ruby Enterprise Edition 2010.02


$ which ruby
/Users/newrelic/.rbenv/shims/ruby


$ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]'
 '--prefix=/Users/newrelic/.rbenv/versions/ree-1.8.7-2010.02' '--
enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc-4.2'
'LDFLAGS=-L'''/Users/newrelic/.rbenv/versions/ree-1.8.7-2010.02/
lib''' ' 'CPPFLAGS=-I'''/Users/newrelic/.rbenv/versions/
ree-1.8.7-2010.02/include''' '
Production
• Linux (CentOS)
• One user per application
• Puppet
• Different Rubies for system and application
• Try it out in Vagrant first!
Trying it with Vagrant
• Install VirtualBox and Vagrant
  (vagrantup.com)
• Example config https://gist.github.com/
  3044552
• Code, run, repeat!
rbenv + ruby-build
                      (with Puppet)

Using https://github.com/alup/puppet-rbenv


class { "rbenv":
  user         => "newrelic",
  compile      => true,
  version => "ree-1.8.7-2010.02"
}
rbenv + ruby-build
                        (with Puppet)
$ ruby -v
ruby 1.8.7 (2010-04-19 patchlevel 253) [x86_64-linux], MBARI
0x6770, Ruby Enterprise Edition 2010.02


$ which ruby
~/.rbenv/shims/ruby


$ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]'
 '--prefix=/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02' '--
enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc' 'LDFLAGS=-L'
''/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02/lib''' '
'CPPFLAGS=-I'''/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02/
include''' '

More Related Content

What's hot

Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmMario IC
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using dockerLarry Cai
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Dmitry Guyvoronsky
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-Anatoly Bubenkov
 
Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Server Density
 
Writing and Publishing Puppet Modules
Writing and Publishing Puppet ModulesWriting and Publishing Puppet Modules
Writing and Publishing Puppet ModulesPuppet
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de VagrantLeandro Nunes
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleRoman Rodomansky
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practicesBas Meijer
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Yury Pliashkou
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Serveraaroncouch
 
Chef introduction
Chef introductionChef introduction
Chef introductioncawamata
 
"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
 
Virtual Infrastructure
Virtual InfrastructureVirtual Infrastructure
Virtual InfrastructureBryan McLellan
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansibleMukul Malhotra
 

What's hot (20)

Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
Docker
DockerDocker
Docker
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
 
Conair
ConairConair
Conair
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
 
Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Puppet Camp Ghent 2013
Puppet Camp Ghent 2013
 
Writing and Publishing Puppet Modules
Writing and Publishing Puppet ModulesWriting and Publishing Puppet Modules
Writing and Publishing Puppet Modules
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practices
 
Devopstore
DevopstoreDevopstore
Devopstore
 
Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11Capifony. Minsk PHP MeetUp #11
Capifony. Minsk PHP MeetUp #11
 
EC CUBE 3.0.x installation guide
EC CUBE 3.0.x installation guideEC CUBE 3.0.x installation guide
EC CUBE 3.0.x installation guide
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
 
Intro to introducing rust to ruby
Intro to introducing rust to rubyIntro to introducing rust to ruby
Intro to introducing rust to ruby
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada
 
Virtual Infrastructure
Virtual InfrastructureVirtual Infrastructure
Virtual Infrastructure
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 

Viewers also liked

DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big Data
DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big DataDataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big Data
DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big DataHakka Labs
 
Real time network monitoring
Real time network monitoringReal time network monitoring
Real time network monitoringSumit Rajpal
 
Dataday Texas 2016 - Datadog
Dataday Texas 2016 - DatadogDataday Texas 2016 - Datadog
Dataday Texas 2016 - DatadogDatadog
 
Running & Monitoring Docker at Scale
Running & Monitoring Docker at ScaleRunning & Monitoring Docker at Scale
Running & Monitoring Docker at ScaleDatadog
 
The Performance and Scalability Mindset
The Performance and Scalability MindsetThe Performance and Scalability Mindset
The Performance and Scalability MindsetBrian Doll
 
Scaling monitoring with Datadog
Scaling monitoring with DatadogScaling monitoring with Datadog
Scaling monitoring with Datadogalexismidon
 
Monitoring, Hold the Infrastructure
Monitoring, Hold the InfrastructureMonitoring, Hold the Infrastructure
Monitoring, Hold the InfrastructureSonatype
 
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...New Relic
 
Application Monitoring using Datadog
Application Monitoring using DatadogApplication Monitoring using Datadog
Application Monitoring using DatadogMukta Aphale
 
Real Time Structural Monitoring for High Rise Buildings and Bridges
Real Time Structural Monitoring for High Rise Buildings and BridgesReal Time Structural Monitoring for High Rise Buildings and Bridges
Real Time Structural Monitoring for High Rise Buildings and BridgesRekaNext Capital
 
PyData NYC 2015 - Automatically Detecting Outliers with Datadog
PyData NYC 2015 - Automatically Detecting Outliers with Datadog PyData NYC 2015 - Automatically Detecting Outliers with Datadog
PyData NYC 2015 - Automatically Detecting Outliers with Datadog Datadog
 
Datadog meetup (dd_sushi #2) Outlier & anomaly detection tips
 Datadog meetup (dd_sushi #2) Outlier &  anomaly detection tips Datadog meetup (dd_sushi #2) Outlier &  anomaly detection tips
Datadog meetup (dd_sushi #2) Outlier & anomaly detection tipsNaotaka Jay HOTTA
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New RelicRonald Bradford
 
Real time water quality monitoring system in ganga basin
Real time water quality monitoring system in ganga basinReal time water quality monitoring system in ganga basin
Real time water quality monitoring system in ganga basinHydrologyWebsite
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDogRedis Labs
 
Scalable Architectures - Taming the Twitter Firehose
Scalable Architectures - Taming the Twitter FirehoseScalable Architectures - Taming the Twitter Firehose
Scalable Architectures - Taming the Twitter FirehoseLorenzo Alberton
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRedis Labs
 
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Hakka Labs
 

Viewers also liked (20)

DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big Data
DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big DataDataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big Data
DataEngConf: Parquet at Datadog: Fast, Efficient, Portable Storage for Big Data
 
Real time network monitoring
Real time network monitoringReal time network monitoring
Real time network monitoring
 
Dataday Texas 2016 - Datadog
Dataday Texas 2016 - DatadogDataday Texas 2016 - Datadog
Dataday Texas 2016 - Datadog
 
Running & Monitoring Docker at Scale
Running & Monitoring Docker at ScaleRunning & Monitoring Docker at Scale
Running & Monitoring Docker at Scale
 
The Performance and Scalability Mindset
The Performance and Scalability MindsetThe Performance and Scalability Mindset
The Performance and Scalability Mindset
 
Datadog- Monitoring In Motion
Datadog- Monitoring In Motion Datadog- Monitoring In Motion
Datadog- Monitoring In Motion
 
Scaling monitoring with Datadog
Scaling monitoring with DatadogScaling monitoring with Datadog
Scaling monitoring with Datadog
 
Rails Performance
Rails PerformanceRails Performance
Rails Performance
 
Monitoring, Hold the Infrastructure
Monitoring, Hold the InfrastructureMonitoring, Hold the Infrastructure
Monitoring, Hold the Infrastructure
 
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...
Rock Stars, Builders, and Janitors: You're Doing It Wrong, New Relic [FutureS...
 
Application Monitoring using Datadog
Application Monitoring using DatadogApplication Monitoring using Datadog
Application Monitoring using Datadog
 
Real Time Structural Monitoring for High Rise Buildings and Bridges
Real Time Structural Monitoring for High Rise Buildings and BridgesReal Time Structural Monitoring for High Rise Buildings and Bridges
Real Time Structural Monitoring for High Rise Buildings and Bridges
 
PyData NYC 2015 - Automatically Detecting Outliers with Datadog
PyData NYC 2015 - Automatically Detecting Outliers with Datadog PyData NYC 2015 - Automatically Detecting Outliers with Datadog
PyData NYC 2015 - Automatically Detecting Outliers with Datadog
 
Datadog meetup (dd_sushi #2) Outlier & anomaly detection tips
 Datadog meetup (dd_sushi #2) Outlier &  anomaly detection tips Datadog meetup (dd_sushi #2) Outlier &  anomaly detection tips
Datadog meetup (dd_sushi #2) Outlier & anomaly detection tips
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New Relic
 
Real time water quality monitoring system in ganga basin
Real time water quality monitoring system in ganga basinReal time water quality monitoring system in ganga basin
Real time water quality monitoring system in ganga basin
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
Scalable Architectures - Taming the Twitter Firehose
Scalable Architectures - Taming the Twitter FirehoseScalable Architectures - Taming the Twitter Firehose
Scalable Architectures - Taming the Twitter Firehose
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your Business
 
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
Introduction to InfluxDB, an Open Source Distributed Time Series Database by ...
 

Similar to Using rbenv in Production

Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternativethinkerbot
 
Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725miguel dominguez
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
 
Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725MortazaJohari
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
introduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformintroduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformniyof97
 
Mac ruby deployment
Mac ruby deploymentMac ruby deployment
Mac ruby deploymentThilo Utke
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaKeith Bennett
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Halil Kaya
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with ChefMatt Ray
 
Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuFramgia Vietnam
 
Cloud Foundry Open Tour China
Cloud Foundry Open Tour ChinaCloud Foundry Open Tour China
Cloud Foundry Open Tour Chinamarklucovsky
 
20111011 bigbluebutton
20111011 bigbluebutton20111011 bigbluebutton
20111011 bigbluebuttonhs1250
 
Nise BOSH in Action
Nise BOSH in ActionNise BOSH in Action
Nise BOSH in Actioni_yudai
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for ussickill
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructureSergiy Kukunin
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developergicappa
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09Michael Neale
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Adam Hodowany
 

Similar to Using rbenv in Production (20)

Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternative
 
Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725Infrastructureascode slideshare-160331143725
Infrastructureascode slideshare-160331143725
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
introduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformintroduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraform
 
Mac ruby deployment
Mac ruby deploymentMac ruby deployment
Mac ruby deployment
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with Chef
 
Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
 
Cloud Foundry Open Tour China
Cloud Foundry Open Tour ChinaCloud Foundry Open Tour China
Cloud Foundry Open Tour China
 
20111011 bigbluebutton
20111011 bigbluebutton20111011 bigbluebutton
20111011 bigbluebutton
 
Nise BOSH in Action
Nise BOSH in ActionNise BOSH in Action
Nise BOSH in Action
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for us
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructure
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Using rbenv in Production

  • 1. New Relic • Development on Mac laptops • CI, Staging and Production on Linux • REE-1.8.7-2010.02 and Ruby 1.9.3-p125
  • 2. Development • Developer laptops • MacOS 10.7 • osx-gcc-installer • Many apps all running as the developer
  • 3. RVM $ curl -L https://get.rvm.io | bash -s stable $ source /Users/newrelic/.rvm/scripts/rvm $ rvm install ree-1.8.7-2010.02 There has been an error while trying to run the ree installer. Halting the installation. Oh that’s right, the old REE doesn’t build with the new LLVM compiler! Manually specify the compiler and try again. $ CC=/usr/bin/gcc-4.2 rvm reinstall ree-1.8.7-2010.02
  • 4. RVM $ ruby -v ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin11.3.0], MBARI 0x6770, Ruby Enterprise Edition 2010.02 $ which ruby /Users/newrelic/.rvm/rubies/ree-1.8.7-2010.02/bin/ruby $ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]' '--prefix=/Users/newrelic/.rvm/rubies/ree-1.8.7-2010.02' '-- enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc-4.2'
  • 5. rbenv + ruby-build (with Homebrew) $ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/ mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)" $ brew update $ brew install rbenv $ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.profile $ brew install ruby-build $ rbenv install ree-1.8.7-2010.02
  • 6. rbenv + ruby-build (with Homebrew) $ rbenv shell ree-1.8.7-2010.02 $ ruby -v ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin11.3.0], MBARI 0x6770, Ruby Enterprise Edition 2010.02 $ which ruby /Users/newrelic/.rbenv/shims/ruby $ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]' '--prefix=/Users/newrelic/.rbenv/versions/ree-1.8.7-2010.02' '-- enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc-4.2' 'LDFLAGS=-L'''/Users/newrelic/.rbenv/versions/ree-1.8.7-2010.02/ lib''' ' 'CPPFLAGS=-I'''/Users/newrelic/.rbenv/versions/ ree-1.8.7-2010.02/include''' '
  • 7. Production • Linux (CentOS) • One user per application • Puppet • Different Rubies for system and application • Try it out in Vagrant first!
  • 8. Trying it with Vagrant • Install VirtualBox and Vagrant (vagrantup.com) • Example config https://gist.github.com/ 3044552 • Code, run, repeat!
  • 9. rbenv + ruby-build (with Puppet) Using https://github.com/alup/puppet-rbenv class { "rbenv": user => "newrelic", compile => true, version => "ree-1.8.7-2010.02" }
  • 10. rbenv + ruby-build (with Puppet) $ ruby -v ruby 1.8.7 (2010-04-19 patchlevel 253) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2010.02 $ which ruby ~/.rbenv/shims/ruby $ ruby -r rbconfig -e 'puts Config::CONFIG["configure_args"]' '--prefix=/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02' '-- enable-mbari-api' 'CFLAGS=-g -O2 ' 'CC=/usr/bin/gcc' 'LDFLAGS=-L' ''/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02/lib''' ' 'CPPFLAGS=-I'''/home/vagrant/.rbenv/versions/ree-1.8.7-2010.02/ include''' '

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n