Veel gestelde vragen
Kan ik Kamal gebruiken?
Ja, Kamal kan worden gebruikt voor het uitrollen van je Ruby on Rails-applicatie op Bluerail. Wij ondersteunen je bij het opzetten van een passende configuratie, afgestemd op jouw applicatie en hostingomgeving.
Kamal maakt gebruik van Docker en SSH om je applicatie te implementeren, en wij zorgen ervoor dat alles correct is ingesteld. Zo ben je verzekerd van een stabiele en goed functionerende deployment.
Wil je ondersteuning bij de opzet van Kamal? Neem contact met ons op en wij helpen je graag verder!
Waarom is managed hosting nog steeds nuttig bij Kamal?
Kamal geeft je controle over je deployments, maar hosting is meer dan alleen uitrollen. Bluerail biedt managed hosting voor containerized applicaties, zodat jij je kunt richten op je code terwijl wij zorgen voor de onderliggende infrastructuur.
Waarom kiezen voor managed hosting bij Kamal?
- ✅ Security & OS-updates: Kamal configureert je applicatie, maar voert geen beveiligingsupdates uit voor het besturingssysteem of Docker zelf. Wij zorgen ervoor dat je omgeving up-to-date en veilig blijft.
- ✅ Back-ups & herstel: Data is cruciaal. Wij maken dagelijks back-ups en zorgen ervoor dat je applicatie snel hersteld kan worden bij calamiteiten.
- ✅ Monitoring van de VM: Wij monitoren de prestaties en beschikbaarheid van de virtuele machine en grijpen in bij storingen of hardwareproblemen.
- ✅ Samenwerking met ontwikkelaars: Wij werken samen met jou of je team om een soepele en stabiele deployment-strategie te garanderen.
Wil je zonder zorgen je containerized applicaties hosten? Neem contact met ons op en ontdek wat wij voor jou kunnen betekenen!
Hoe gebruik ik Capistrano 3.x?
In het kort:
- Voeg capistrano-rails, capistrano-passenger en capistrano-rvm toe aan Gemfile
- Installeer Capistrano
- Werk de configuratie-scripts bij
In detail:
Start met het toevoegen van de benodigde gems aan de Gemfile:
group :development, :test do
gem 'capistrano-passenger'
gem 'capistrano-rails'
gem 'capistrano-rvm'
end
Installeer de gems:
$ bundle install
Installeer Capistrano:
$ cap install
Vul de standaard-configuratie van Capistrano aan met specifieke configuratie voor uw omgeving. Om te beginnen activeren we Capistrano-rvm en Capistrano-passenger. Voer wijzigingen door in Capfile, zodat deze lijkt op:
='# Load DSL and set up stages'
require "capistrano/setup"
='# Include default deployment tasks'
require "capistrano/deploy"
='# Include tasks from other gems included in your Gemfile'
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano/passenger'
='# Load custom tasks from `lib/capistrano/tasks` if you have any defined'
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
In het bestand config/deploy.rb staan gegevens als de naam van de applicatie, het GIT repository url en de Ruby versie. Shared hosting omgevingen zijn voorzien van meerdere Ruby versies. U heeft bij uw bestelling aangegeven welke Ruby versie u wenst te gebruiken. Het is dus belangrijk om deze Ruby versie ook op te nemen in uw configuratie, ook als u lokaal geen rvm gebruikt. Het is handig om deze versie in .ruby-version op te slaan. Merk op dat wanneer u een nieuwere versie wilt gebruiken u de server-configuratie laat aanpassen.
2.5.1
lock '3.11.0'
set :application, 'my_app_name'
set :repo_url, 'git@example.com:me/my_repo.git'
set :rvm_ruby_version, File.open(File.dirname(__FILE__) + '/../.ruby-version').read.strip
set :pty, true
set :ssh_options, forward_agent: true
append :linked_files, 'config/database.yml', 'config/secrets.yml'
append :linked_dirs, 'log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system'
Per omgeving (staging, production) heeft Capistrano een configuratie-bestand aangemaakt. Afhankelijk van uw pakket kunt u dit bestand wijzigen in:
role :app, %w(gebruiker@server)
role :web, %w(gebruiker@server)
role :db, %w(gebruiker@server)
set :deploy_to, '/var/www/vhosts//rails'
set :branch, :production
Om er zeker van te zijn dat Capistrano vanaf onze server uw Git repository kunt bereiken kunt u via ssh verbinden naar uw account en vervolgens vanuit daar een verbinding maken naar uw git server.
Indien uw code bij Github staat doet u dat bijvoorbeeld met het volgende commando:
$ ssh -t gebruiker@server ssh git@github.com
Na het accepteren van de host key zou Github u moeten herkennen. Zo niet, dan dient u eerst nog agent forwarding in te schakelen op uw lokale omgeving.
Controleer of de configuratie op orde is:
$ cap production deploy:check
Maak de doel-omgeving gereed:
$ cap production deploy:setup
Capistrano heeft nu op de server een aantal mappen gemaakt om vervolgens een uitvoer te kunnen maken. Afhankelijk van het pakket kan het nodig zijn nog een rails/shared/config/database.yml en rails/shared/config/secrets.yml aan te maken. Deze bestanden hebben een inhoud die lijkt op:
production:
host: localhost
username: ...
password: ...
database: ...
adapter: postgresql
pool: 25
encoding: utf8
production:
secret_key_base:
Maak eventueel een nieuw geheim token met een Rails-taak:
$ rails secret
Om nu uit te rollen is enkel nog nodig Capistrano deploy-taak uit te voeren:
$ cap production deploy
De belangrijkste Capistrano commando’s op een rij
Met Capistrano hoeft u nooit zelf een verbinding te maken met de Bluerail servers om uw applicatie te updaten. U voert alle commando’s uit vanuit de lokale kopie van uw Rails applicatie. Hieronder vindt u een kort overzicht van de belangrijkste commando’s:
-
cap
deploy:setup
Met dit commando maakt u de benodigde directorystructuur voor Capistrano op de server aan. Dit commando dient altijd uitgevoerd te worden bij het in gebruik nemen van een nieuw hosting account. -
cap
deploy
Om nieuwe versies op de server uit te rollen volstaat het cap deploy commando. Indien u de bovenstaande config.rb gebruikt wordt tevens automatisch de bundle bijgewerkt. -
cap
deploy:migrations
Deze taak installeert niet alleen een nieuwe versie van de applicatie maar voert tevens de databasemigraties uit. -
cap
deploy:rollback
Mocht een deployment onverwacht tot problemen leiden, dan kunt u met rollback terug naar de vorige release. -
cap
deploy:cleanup
Als een deployment succesvol is verlopen kunt u met cap deploy:cleanup oude releases van de applicatie van de server verwijderen om zo schijfruimte te besparen. Het aantal versies dat bewaard wordt kunt u instellen met de keep_releases-optie in deploy.rb
Hoe herstart ik mijn applicatie?
Een Passenger applicatie kunt u herstarten door in de rails/tmp directory een bestand aan te maken met de naam restart.txt. Bij het volgende request zal de applicatie herstart worden.
Via SSH kunt u dit bestand aanmaken met het volgende commando:
$ touch ~/rails/tmp/restart.txt
Of, als u Capistrano gebruikt:
$ touch ~/rails/current/tmp/restart.txt
Hoe benader ik het Plesk control panel?
U kunt het Plesk control panel gebruiken om uw databases en e-mail accounts te beheren. U benadert dit control panel via de volgende URL:
https://<uw-domeinnaam>:8443/
Let op: De logingegevens voor het Plesk panel zijn niet de gegevens die u voor SFTP of SSH gebruikt!
Neem contact met ons op
Bluerail levert 'all in' support. Wij helpen u dus graag met uw specifieke probleem.
Advies