deployment - Capistrano deploy from local machine -
im trying create new user deploy application local machine external server.
i've got working using root understand it's not secure use root, therefore want create user called 'deployer'. i've added user external server , copied local is_rsa.pub key /.ssh/authorized_keys on server, when run cap development deploy keep getting following error:
failed: "sh -c 'if [ -d /var/www/vhosts/xyz.co.uk/shared/cached-copy ]; cd /var/www/vhosts/xyz.co.uk/shared/cached-copy && git fetch -q origin && git fetch -- tags -q origin && git reset -q --hard 2b738f4ca8008dcf9e84c4be5d63d906a7bfd760 && git clean -q -d -x -f; else git clone -q git@github.com:xyz/xyz.co.uk.git /var/www/vhosts/xyz.co.uk/shared/cached-copy && cd /var/www/vhosts/xyz.co.uk/shared/cached- copy && git checkout -q -b deploy 2b738f4ca8008dcf9e84c4be5d63d906a7bfd760; fi'" on x.xx.xx.xxx if run ssh -t git@github.com on external server says:
hi username! you've authenticated, github not provide shell access. this username not deployer though, assume username of github account.
any ideas need do? need create deployer user on local machine too?
here deploy.rb file:
set :stage_dir, 'app/config/deploy' # needed symfony2 set :stages, %w(production staging development) require 'capistrano/ext/multistage' set :application, "xyz.co.uk" set :user, "deployer" # server's user deploys set :normalize_asset_timestamps, false set :repository, "git@github.xyz/xyz.co.uk.git" set :scm, :git set :keep_releases, 3 after "deploy:update", "deploy:cleanup" set :use_sudo, false set :web_path, "web" set :shared_files, ["app/config/parameters.yml"] set :shared_children, [app_path + "/logs", web_path + "/uploads"] set :use_composer, true set :update_vendors, true set :dump_assetic_assets, true set :deploy_via, :remote_cache #logger.level = logger::max_level after "deploy:update_code" capifony_pretty_print "--> ensuring cache directory permissions" run "setfacl -r -m u:www-data:rwx -m u:`whoami`:rwx #{latest_release}/#{cache_path}" run "setfacl -dr -m u:www-data:rwx -m u:`whoami`:rwx #{latest_release}/#{cache_path}" capifony_puts_ok end deveopment.rb file:
server 'x.xx.xx.xxx', :app, :web, :db, :primary => true ssh_options[:port] = 1234 ssh_options[:forward_agent] = true default_run_options[:pty] = true set :deploy_to, "/var/www/vhosts/xyz.co.uk" set :symfony_env_prod, "dev" set :branch, "develop" # need clear *_dev controllers set :clear_controllers, false thanks
you want have target machine use local ssh credentials authenticate github. putting following 2 entries deploy.rb
ssh_options[:forward_agent] = true default_run_options[:pty] = true or, way go github repo , add public ssh key of target server deploy key
https://github.com/your_github/your_repo/settings/keys this gives target server checkout access specified repository without having use personal ssh key.
Comments
Post a Comment