This document provides a summary of key steps for setting up Git, RVM, Rails, and deploying a Rails app to Heroku. It includes installing and configuring Git, installing RVM and Ruby, generating a new Rails project, committing code to a Git repository, and pushing the Rails app to Heroku. The tips section suggests automating Ruby/gemset selection with .rvmrc, disabling documentation installation for faster gem installation, and customizing the command prompt.
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Codemotion
In the years spent on the front line managing open source projects and applications developed by distributed teams, I've managed to gather quite a few Git stories from the trenches. In this practically oriented talk, I will share some patterns and practices I have collected while on the front. We will first go through some useful git aliases, then touch on topics such as the various git branching models, long-running branches, conflict management, the rewriting of project history, etcetera. Oh and yes, the (in)famous Git rebase will be covered too.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Codemotion
In the years spent on the front line managing open source projects and applications developed by distributed teams, I've managed to gather quite a few Git stories from the trenches. In this practically oriented talk, I will share some patterns and practices I have collected while on the front. We will first go through some useful git aliases, then touch on topics such as the various git branching models, long-running branches, conflict management, the rewriting of project history, etcetera. Oh and yes, the (in)famous Git rebase will be covered too.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
@kannonboy's JavaOne 2016 presentation "Code reviews vs Pull requests"
Many styles and processes are available for code review. Which one is suitable for your team? Do you use Git, Subversion, or something more exotic? Do you prefer to review code precommit or via a pull request? Do you favor a feature branching, forking, or Gerrit-style workflow? This session breaks down the various popular options adopted by professional teams. It investigates pull requests (popularized by Bitbucket and GitHub), Gerrit’s specialized workflow, and other postcommit and precommit review systems, discussing the pros and cons of each. Finally, it shows the battle-hardened review processes used by Atlassian’s development teams, refined over tens of thousands of code reviews and pull requests and across countless retrospectives.
Dear Ninja Git Apprentice, your training will be short but it will be dense and fierce. I will teach you how to lock down your master's fortress from tampering and infiltration, how to become invisible and hide data in a repository, how to resist any attacks and recover your committed and uncommitted files, how to be fast as a fox to cover your tracks and resolve conflicts. Save the master!
Create Development and Production Environments with VagrantBrian Hogan
Need a Linux box to test a Wordpress site or a Windows VM to test a web site on IE 10? Creating a virtual machine to test or deploy your software doesn’t have to be a manual process. Bring one up in seconds with Vagrant, software for creating and managing virtual machines. With Vagrant, you can bring up a new virtual machine with the software you need, share directories, copy files, and configure networking using a friendly DSL. You can even use shell scripts or more powerful provisioning tools to set up your software and install your apps. Whether you need a Windows machine for testing an app, or a full-blown production environment for your apps, Vagrant has you covered.
In this talk you’ll learn to script the creation of multiple local virtual machines. Then you’ll use the same strategy to provision production servers in the cloud.
I work with Vagrant, Terraform, Docker, and other provisioning systems daily and am excited to show others how to bring this into their own workflows.
Noah Zoschke took to the Waza 2013 stage to present "Heroku Secrets". For more from Zoschke, ping him at @nzoschke. For more on Waza visit http://waza.heroku.com/2013.
For Waza videos stay tuned at http://blog.heroku.com or visit http://vimeo.com/herokuwaza
Creating and Deploying Static Sites with HugoBrian Hogan
Most web sites don’t have data that changes, so why power them with a database and take the performance hit? In this talk we’ll explore static site generation using Hugo, an open-source static site generator. You’ll learn how to make a master layout for all pages, and how to use Markdown to create your content pages quickly.
Then we’ll explore how to deploy the site we made to production. We’ll automate the entire process. When you’re done, you’ll be able to build and deploy static web sites quickly with minimal tooling.
This slide discusses the most popular distributed version control system that is GIT and it's different commands that we need in our daily operations for project collaboration.
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
Presentation delivered by Darran Lofthouse, Principal Software Engineer, Red Hat & Kabir Khan, Principal Software Engineer, Red Hat, during London JBoss User Group event on the 21st of May 2014.
@kannonboy's JavaOne 2016 presentation "Code reviews vs Pull requests"
Many styles and processes are available for code review. Which one is suitable for your team? Do you use Git, Subversion, or something more exotic? Do you prefer to review code precommit or via a pull request? Do you favor a feature branching, forking, or Gerrit-style workflow? This session breaks down the various popular options adopted by professional teams. It investigates pull requests (popularized by Bitbucket and GitHub), Gerrit’s specialized workflow, and other postcommit and precommit review systems, discussing the pros and cons of each. Finally, it shows the battle-hardened review processes used by Atlassian’s development teams, refined over tens of thousands of code reviews and pull requests and across countless retrospectives.
Dear Ninja Git Apprentice, your training will be short but it will be dense and fierce. I will teach you how to lock down your master's fortress from tampering and infiltration, how to become invisible and hide data in a repository, how to resist any attacks and recover your committed and uncommitted files, how to be fast as a fox to cover your tracks and resolve conflicts. Save the master!
Create Development and Production Environments with VagrantBrian Hogan
Need a Linux box to test a Wordpress site or a Windows VM to test a web site on IE 10? Creating a virtual machine to test or deploy your software doesn’t have to be a manual process. Bring one up in seconds with Vagrant, software for creating and managing virtual machines. With Vagrant, you can bring up a new virtual machine with the software you need, share directories, copy files, and configure networking using a friendly DSL. You can even use shell scripts or more powerful provisioning tools to set up your software and install your apps. Whether you need a Windows machine for testing an app, or a full-blown production environment for your apps, Vagrant has you covered.
In this talk you’ll learn to script the creation of multiple local virtual machines. Then you’ll use the same strategy to provision production servers in the cloud.
I work with Vagrant, Terraform, Docker, and other provisioning systems daily and am excited to show others how to bring this into their own workflows.
Noah Zoschke took to the Waza 2013 stage to present "Heroku Secrets". For more from Zoschke, ping him at @nzoschke. For more on Waza visit http://waza.heroku.com/2013.
For Waza videos stay tuned at http://blog.heroku.com or visit http://vimeo.com/herokuwaza
Creating and Deploying Static Sites with HugoBrian Hogan
Most web sites don’t have data that changes, so why power them with a database and take the performance hit? In this talk we’ll explore static site generation using Hugo, an open-source static site generator. You’ll learn how to make a master layout for all pages, and how to use Markdown to create your content pages quickly.
Then we’ll explore how to deploy the site we made to production. We’ll automate the entire process. When you’re done, you’ll be able to build and deploy static web sites quickly with minimal tooling.
This slide discusses the most popular distributed version control system that is GIT and it's different commands that we need in our daily operations for project collaboration.
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
Presentation delivered by Darran Lofthouse, Principal Software Engineer, Red Hat & Kabir Khan, Principal Software Engineer, Red Hat, during London JBoss User Group event on the 21st of May 2014.
Git is the new gold standard when it comes to versioning in the Web age. Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Version control should always be used when doing software development and most open source projects use version control and there is no exception for Wakanda applications.
In this session we give an introduction to Git, we explain how to use it with Wakanda, the process of creating and cloning repositories, as well as working with branches in a distributed team environment, and finally dealing with merging source code with your team members.
Join us for this interactive event and get your hands dirty with some WildFly 9 hacking!
Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request.
During this interactive event you will have a chance to play with WildFly 9 and try some of the following:
• Find a JIRA you want to work on.
• See how to check-out the code and setup your IDE.
• Build WildFly
• Code walkthrough - code organisation, jboss-modules etc.
• Debug something from a stack trace in a JIRA issue to nail down the problem.
• Try the testsuite
• And more!
With the rise of cloud computing and the death of the Xserve, learn how you can deploy your WebObjects applications on a Linode private virtual server.
PlayNode Conference 2012 (NodeConf 2012 in Korea) 에서 발표한 node.js 기반의 정적 페이지 블로그 엔진 하루프레스
하루프레스의 기능적인 특징, 철학 그리고 기술적인 특징을 통해 알아보는 개발 노하우에 대한 내용을 닮고 있습니다.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
9. RVM :: install
• $ sudo apt-get install curl
• $ curl –L https://get.rvm.io | bash –s stable
• For RVM to work properly, you have to set the 'Run
command as login shell' checkbox at Edit / Profile
Preferences / Title and Commands in Gnome terminal
• More details here:
https://rvm.io/integration/gnome-terminal
16. Rails :: install
• $ gem install rails
• Fetching: i18n-0.6.1.gem (100%)
• Fetching: rails-3.2.8.gem (100%)
• ...
• 29 gems installed
• Successfully installed i18n-0.6.1
• ...
• Installing ri documentation for i18n-0.6.1..
• Installing RDoc documentation for rack-cache-1.2...
• Ri and RDoc are slow [see Tips & Tricks]
17. Rails :: new app
• $ rails new first-app
• create README.rdoc
• create Rakefile
• ……
• Fetching gem metadata from https://rubygems.org/.........
• Using rake (0.9.2.2)
• Using i18n (0.6.1)
• …..
• Your bundle is complete! Use `bundle show [gemname]`
to see where a bundled gem is installed.
18. Rails :: app skeleton (partial)
• app/ - core application code (controllers, views, models…)
• config/ - application configuration
• db/ - DB related files (migrations, seeds, etc)
• lib/ - library modules
• log/ - application log files
• public/ - publicly accessible data
• Gemfile - app gem requirements
• .gitignore – patterns for files that should be ignored by git
22. Rails :: start server
• rails s
• => Booting WEBrick
• => Rails 3.2.8 application starting in development on
http://0.0.0.0:3000
• => Call with -d to detach
• => Ctrl-C to shutdown server
• [2012-09-23 19:46:46] INFO WEBrick 1.3.1
• [2012-09-23 19:46:46] INFO ruby 1.9.2 (2011-07-09)
[x86_64-darwin11.2.0]
• [2012-09-23 19:46:46] INFO WEBrick::HTTPServer#start:
pid=32565 port=3000
24. Rails :: if rails server failed
• If failed with:
• home/pavelt/.rvm/gems/ruby-1.9.3-p194/gems/execjs-
1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not
find a JavaScript runtime. See
https://github.com/sstephenson/execjs for a list of
available runtimes. (ExecJS::RuntimeUnavailable)
• Uncomment therubyracer gem in ./Gemfile
• bundle install
• git add Gemfile*
• git commit -m ‘Added gem therubyracer’
25.
26. Heroku
• What is Heroku?
• Heroku is a cloud application platform – a new way of
building and deploying web apps. (Heroku | About)
• Heroku is a cloud platform as a service (PaaS) supporting
several programming languages. (Wikipedia)
• Heroku = Easy deployment
• Heroku = No server managing
• Heroku = Scale with 1 command
• Heroku = Read-only file system
27. Heroku :: deployment
• How to deploy to Heroku?
• Simply push to master branch of your Heroku git repo
• $ git push heroku master
28. Heroku :: install & configure
• $ gem install heroku
• Register at Heroku sign up page
• https://api.heroku.com/signup
• $ heroku login
• Enter your Heroku credentials.
• Email: paveltyk@gmail.com
• Password (typing will be hidden):
• Authentication successful.
• More info: https://toolbelt.heroku.com
30. Heroku :: first app
• Go to http://pavelt-first-app.herokuapp.com
31. Heroku :: first app
• $ git push heroku master
• The authenticity of host 'heroku.com (50.19.85.156)' can't be
established.
• RSA key fingerprint is
8b:48:5e:67:0e:c9:16:47:32:f2:87:0c:1f:c8:60:ad.
• Are you sure you want to continue connecting (yes/no)? yes
• Warning: Permanently added 'heroku.com,50.19.85.156' (RSA)
to the list of known hosts.
• Permission denied (publickey).
• fatal: The remote end hung up unexpectedly
32. Heroku :: first app
• $ heroku keys:add
• Could not find an existing public key.
• Would you like to generate one? [Yn] y
• Generating new SSH public key.
• Uploading SSH public key /home/pavelt/.ssh/id_rsa.pub... done
• $ git push heroku master
33. Heroku :: first app
• Counting objects: 73, done.
• Compressing objects: 100% (58/58), done.
• ….
• -----> Heroku receiving push
• -----> Ruby/Rails app detected
• -----> Installing dependencies using Bundler version 1.2.0
• …
• Installing sqlite3 (1.3.6) with native extensions
• Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native
extension.
• Failed to install gems via Bundler.
• Detected sqlite3 gem which is not supported on Heroku.
• http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
• Heroku push rejected, failed to compile Ruby/rails app
34. Heroku :: first app
• Remove `gem ‘sqlite3’` line from ./Gemfile, update bundle and commit
• $ bundle install
• git commit -am ‘Removed SQLite3 gem’
• $ git push heroku master
• Counting objects: 73, done.
• ….
• -----> Heroku receiving push
• -----> Ruby/Rails app detected
• -----> Installing dependencies using Bundler version 1.2.0
• …
• Your bundle is complete! It was installed into ./vendor/bundle
• …
• -----> Writing config/database.yml to read from DATABASE_URL
• -----> Preparing app for Rails asset pipeline
• -----> Launching... done, v7
• http://pavelt-first-app.herokuapp.com deployed to Heroku
36. Tips & Tricks :: .rvmrc
• Automatically change Ruby version and Gemset
• ./.rvmrc
• rvm use 1.9.3@first-app --create
37. Tips & Tricks :: disable Ri & RDoc
• How to disable Ri and Rdoc?
• ~/.gemrc
• install: --no-ri --no-rdoc
• update: --no-ri --no-rdoc
38. Tips & Tricks :: informative prompt
• How to make prompt more informative?
• ~/.bashrc
• export GIT_PS1_SHOWDIRTYSTATE=true
• export GIT_PS1_SHOWUNTRACKEDFILES=true
• export GIT_PS1_SHOWSTASHSTATE=true
• PS1='[$(~/.rvm/bin/rvm-prompt)]u:W[$(__git_ps1 "%s")] '
Editor's Notes
Очень многое в экосистеме RoR в той или иной степени связанос Git. Следовательно настройку рабочего окружения начнем именно с установки git.
Есть несколько вариантов установки: из исходников, готовые бинарники.Оптимальный для нас вариант - установка через менеджер пакетов: apt-get / aptitudeЭто займет несколько минут. После того как гит установлен, следует его настроить.
Для этого есть утилита gitconfig. Все сделанные далее изменения будут перманентны. Но по желанию их конечно же можно изменить. Первое что следует сделать это указать имя и email. Что мы сейчас и сделаем.Эти переменные очень важны, т.к. во всех Ваших последующих комитах будет записано их значение. Это как Ваша подпись на каждом комите - сказать что это сделали не Вы уже не получится :)Как Вы заметили в предыдущих командах мы использовали ключ --global Это означает что мы делаем изменения на уровне пользователя системы. Настройки git могут храниться в трех местах:1. /etc/gitconfig - конфиг для всех пользователей системы и всех проектов. gitconfig будет писать в этот файл когда передан ключ --system2. ~/.gitconfig - конфиг для текущего пользователя системы. gitconfig будет писать в этот файл когда передан ключ --global3. <PATH_TO_REPO>/.git/config - конфиг текущего репозитория. Ключ не надоЧем ближе файл к репозиторию - тем выше приоритет его переменных. Например, только что мы указали user.name и user.email на уровне --global, т.е. эта подпись комитов будет использоваться во всех репозиториях текущего пользователя. Если в каком-то из проектов Вы захотите использовать другой email для подписи - следует в самом репозитории переопределить это значение (<PATH_TO_REPO>/.git/config).
Проверить значения переменных можно так gitconfig --listОдна и таже переменная может быть выведена несколько раз.Если надо проверить значение конкретной переменной:gitconfiguser.name
Теперь перейдем к установке руби. Для Рельс третьей версии нужен ruby1.8.7 и выше. Я рекомендую ruby 1.9.xRVM - позволяет установить несколько версий руби. Это очень полезно когда у вас есть несколько проектов, тогда для каждого можно настроить свое окружение гемов и разные версии руби.Устанавливать RVM будемтак:
rvm install 1.9.3 - Нас еще раз rvm предупредило о зависимостях (который мы только что установили). Нажимаем 'q' чтобы продолжить установку.
В RVM можно для каждой версии руби иметь несколько набровгемов, которые называются gemsetRubyGems это менеджер пакетов для РубиRubyGems разработана для простой уcтановкигемов. Начиная с Ruby версии 1.9 RubyGems является частью стандартной библиотеки Ruby.Gem - стандартный формат для распространения руби библиотек и программ в автономном форматеОбращаю внимание на то что гемсеты создаются для каждой версии руби отдельно, т.е. у вас не получится использовать один и тот же гемсет в разных версиях руби.
Как видно из лога, гемrails также устанавливает все свои зависимости, генерирует ri и rdoc документацию. Многие программисты (я в том числе) находят временнЫе затраты на генерацию этой документации не стоящими результата и предпочитают использовать online ресурсы. Например http://api.rubyonrails.org
Рельсы установлены. Проверить версию рельс можно так: rails -vСамое время попробовать создать новый проект.Как видно из лога, команда railsnew сгенерировала скелет проекта и установила все необходимые гемы. Скелет проекта это одно из многих преимуществ rails. Одной командой мы только что сгенерировали работающее приложение. А так как структура проекта одинаковая, вы всегда сможете быстро найти интересующий код в чужом проекте.
Давайте рассмотрим структуру приложение на RoR. Я опущу директории/файлы, которые не важны на данный момент:app/ - основной код приложения. Здесь находятся модели, вьюхи, контроллеры и хелперы.config/ - конфигурация и инициализация проекта здесьdb/ - здесь хранятся файлы связанные с базой данных (миграции, сиды, файлы файл ориентированных БД)lib/ - сюда принято помещать модули и классы напрямую не связанные с вашим проектомlog/ - сюда рельсы будут записывать свои логиpublic/ - все файлы в этой папке будут доступны пользователям/браузеруGemfile - здесь описаны все гемы от которых зависит проект.gitignore - описаны паттерны файлов которые git должен игнорировать
Пока мы ничего не поломали - самое время сделать комит. Первое что нам надо сделать это инициализировать gitрепозиторий. Делается это командой:gitinit
Посмотрим что у нас с деревомКак видно все файлы unstaged.
Добавим все файлы проекта (за исключением тех что попадают под описание .gitignore) в stagingarea.
Запускаем локальный сервер. смотрим браузер
Если сервер не запустится с такой ошибкой, отредактировать Gemfile.
Что такое Хероку?!Хероку себя определяет как облачная платформа приложений - новый способ создания и развертывания приложений.Википедия говорит что Хероку это облачная платформа как сервис, с поддержкой нескольких языков программирования.Для меня Хероку это найпростейшийдеплоймент, отсутствие необходимости управлять серверами, масштабирование одной командой.
Так как же деплоить на Хероку? Просто запушить код в репозиторий вашего приложения на Хероку. Afterpushколбэки настроят окружение, скомпилируют ассеты, запустят инстансы только что задеплоеного приложения.
У Хероку есть очень удобный CLI который устанавливается вместе с гемомheroku. Прямо сейчас мы его и установим: