Rails 4 + Capistrano 3:致命:部署时无法从远程存储库读取

2024-03-13

我在使用 Capistrano 3 部署 Rails 4 应用程序时遇到以下错误

INFO [87512eb8] Running /usr/bin/env chmod +x /tmp/magnificent/git-ssh.sh as [email protected] /cdn-cgi/l/email-protection
DEBUG [87512eb8] Command: /usr/bin/env chmod +x /tmp/magnificent/git-ssh.sh
INFO [87512eb8] Finished in 0.444 seconds with exit status 0 (successful).
INFO [1ec94dd1] Running /usr/bin/env git ls-remote --heads [email protected] /cdn-cgi/l/email-protection:BoTreeConsultingTeam/magnificent.git as [email protected] /cdn-cgi/l/email-protection
DEBUG [1ec94dd1] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/magnificent/git-ssh.sh /usr/bin/env git ls-remote --heads [email protected] /cdn-cgi/l/email-protection:BoTreeConsultingTeam/magnificent.git )
DEBUG [1ec94dd1]    ERROR: Repository not found.
DEBUG [1ec94dd1]    fatal: Could not read from remote repository.
DEBUG [1ec94dd1]    
DEBUG [1ec94dd1]    Please make sure you have the correct access rights
DEBUG [1ec94dd1]    and the repository exists.

这是 capistrano 配置。

配置/部署.rb

# config valid only for current version of Capistrano
lock '3.4.0'

set :application, 'magnificent'
set :repo_url, '[email protected] /cdn-cgi/l/email-protection:BoTreeConsultingTeam/magnificent.git'
set :deploy_to, '/home/deploy/magnificent'

set :linked_files, %w{config/database.yml config/secrets.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
set :branch, 'develop' #set/ :branch,`git rev-parse --abbrev-ref HEAD`.chomp
set :ssh_options, { forward_agent: true }

namespace :deploy do

  desc 'Restart application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      execute :touch, release_path.join('tmp/restart.txt')
    end
  end

  after :publishing, 'deploy:restart'
  after :finishing, 'deploy:cleanup'
end

namespace :deploy do

  after :restart, :clear_cache do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      # Here we can do anything such as:
      # within release_path do
      #   execute :rake, 'cache:clear'
      # end
    end
  end

end

生产.rb

set :stage, :production
server 'xx.xx.xx.xx', user: 'deploy', roles: %w{web app}

Capfile

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
set :rvm_type, :user
set :rvm_ruby_version, '2.2.2'

我还将远程服务器的 /home/deploy/.ssh/id_rsa.pub 复制到 github 部署密钥。

UPDATE我确认我能够访问远程仓库并且GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/magnificent/git-ssh.sh /usr/bin/env git ls-remote --heads [email protected] /cdn-cgi/l/email-protection:BoTreeConsultingTeam/magnificent.git命令适用于远程服务器。


目前的解决方案

最近我使用不同的解决方案。前cap production deploy我运行以下命令。

  1. eval "$(ssh-agent -s)"
  2. ssh-add ~/.ssh/id_rsa

以前的解决方案

我可以通过替换来解决这个问题

set :repo_url, '[email protected] /cdn-cgi/l/email-protection:BoTreeConsultingTeam/magnificent.git'

with

set :repo_url, 'https://my_github_username:[email protected] /cdn-cgi/l/email-protection/BoTreeConsultingTeam/magnificent'

Note如果您的密码包含特殊字符,则应对它们进行 url 编码。您可以使用快速编码URI::encode in irb.

对于使用 Capistrano 2 的其他部署,我永远不需要提供 github 凭据。

谁能告诉我为什么我必须指定 git 用户名/密码repo_url?

中还有一个解决方案大写论坛帖子 https://forum.upcase.com/t/capistrano-cannot-read-from-remote-repository/3009/6这也有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 4 + Capistrano 3:致命:部署时无法从远程存储库读取 的相关文章

  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • 如何在Rails中使用jquery tokeninput?

    我正在尝试在我的应用程序的表单中添加 tokeninput jquery 字段 该字段允许用户发布状态更新 我希望用户能够将作品 单独的模型 附加到状态更新中 我正在使用 act as taggable on gem 并且我的查询指定标签上
  • github actions 找不到 package.json

    我正在尝试设置一些基本的 GitHub 操作来在 PR 上撰写评论 Action 发布在 github 上 如下所示 action yml 文件 name name description description author me inp
  • Rails 的多个数据库不适用于远程数据库

    我有一个远程只读 postgres 数据库 它是通过 docker 实例维护的卡尔达诺数据库同步 https github com input output hk cardano db sync 我设法将开发数据库连接到它 它工作正常 但由
  • 表情符号未正确保存在 mongodb 中

    我正在将 Twitter 和 Instagram 上的表情符号保存到我的 mongodb 数据库中 但是当我显示从数据库中提取的数据时 表情符号看起来像这样破损了 在将数据保存到 mongodb 期间我需要做一些不同的事情吗 我是 mong
  • Rails 中对多个域/子域的支持

    我有一个 Rails 应用程序 它的设置与 Tumblr 类似 也就是说 您可以选择 1 子域名托管 your username myapp com 2 域名托管 your username com 两者都会转发到使用我的应用程序创建的该用
  • Rails 中的 Google freebusy api 调用无法识别参数

    我试图从我的主日历中查找所有空闲 忙碌时间 但我无法让查询识别我的参数 在我的控制器中我有 freetimes client execute api method gt service freebusy query parameters g
  • 处理 Rails 2.1.x 中的 RoutingError 的最佳方法?

    我正在使用Rails 2 1 中的routing rb 代码 并尝试让它达到这样的程度 我可以对找不到合适路径时抛出的RoutingError 异常执行一些有用的操作 这是一个有点棘手的问题 因为有一些 URL 类别纯粹是糟糕的 azenv
  • rake cucumber 和 rake spec 始终使用“开发”环境

    我运行 Cucumber 和 RSpec 测试的 rake 任务始终使用我的development环境 以下是相关的配置文件 RAILS ROOT config environments cucumber rb Edit at your o
  • Rails 3.2 子域和设计

    我有一个应用程序 用户可以登录到他们的公司子域 我用的是设计 此代码将用户从根域重定向到子域 def after sign in path for resource or scope scope Devise Mapping find sc
  • Ruby:创建日期范围

    我正在寻找一种优雅的方式来制作一系列日期时间 例如 def DateRange start time end time period end gt gt results DateRange DateTime new 2013 10 10 1
  • 装饰 Rails 中的属性

    我有一个name上的属性Person模型 每次我访问name属性 我想要name capitalize被退回 在模型内执行以下操作将不起作用 def name name capitalize end 那么还有什么选择呢 我建议您使用自定义格
  • 无法加载文件或程序集“System.Web.Razor”或其依赖项之一

    我在我的网站 Web 应用程序 中使用了 Umbraco 4 11 6 我的网站在 localhost 中工作 通过 Visual Studio 2012 和 IIS v7 进行测试 但是当我从互联网空间运行它时 出现错误 错误是 无法加载
  • STI 在遗传类型之间发生变化。

    在我的模型中 我像这样使用 STI 车辆型号 vehicle rb class Vehicle lt ActiveRecord Base end 车型 car rb class Car lt Vehicle end 总线模型 bus rb
  • 是否可以使用 GitHub Action 和 GitHub FTP Deploy 将 Laravel Web 应用程序部署到共享托管?

    是否可以deploy the Laravel网络应用程序到共享主机使用 GitHub Action 和 GitHub FTP 部署 如果可能的话我应该如何更改 github workflows master yml on push bran
  • Ruby on Rails:有关 validates_presence_of 的问题

    我的基于 ActiveRecord 的模型中有一个关系 如下所示 belongs to foo 我的模型应该始终在其中定义 foo 才能有效 我的问题是 当使用 validates presence 时 使用哪一个是合适的 validate
  • 使用 Paperclip 和 Multipart 请求将文件上传到 Rails JSON API 服务器

    我想将文件从 Android 客户端上传到 Rails JSON API 服务器 我正在从 Android 客户端发送一个 Multipart form 请求 如下所示 Content Type multipart form data bo
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • Ruby 2 升级破坏了 Nokogiri 和/或 open-uri 编码?

    将 Rails3 2 Ruby 1 9 应用程序升级到 Rails3 2 Ruby 2 1 2 时 我有一个谜团需要解决 Nokogiri 似乎崩溃了 因为它使用 open uri 改变了它的行为 没有改变 gem 版本 只是改变 ruby
  • git-lfs 中的多个文件版本

    我正在尝试估计 GitHub 上我的项目的存储要求 并对 git lfs 如何存储多个版本的文件有一些疑问 git lfs 是否存储多个版本的文件 如果是这样 对文件的每次更改都会导致复制整个文件 还是仅存储差异 所有版本都会计入 gith

随机推荐

  • ios 中纹理的多重采样渲染

    我正在尝试在启用多重采样的 ios 中渲染到纹理 然后在最终输出中使用该纹理 这可能吗 到目前为止 我只得到了黑色纹理或锯齿图像 我正在使用的代码是 glGenTextures 1 texture glBindTexture GL TEXT
  • C# 没有边界检查的 byte[] 比较

    我正在寻找性能高效的方法来比较两个 byte 是否相等 大小超过 1 MB 因此每个数组元素的开销应最小化 我的目标是超越SequenceEqual http msdn microsoft com en us library bb34856
  • python tkinter 列表框事件绑定

    我无法让事件绑定与 python tkinter 一起使用 我只是尝试单击并打印位置 但每次执行此操作时 结果都是 1 这是我的代码 from Tkinter import import Tkinter class make list Tk
  • spring junit 加载应用程序上下文进行测试

    我的 WEB INF 目录下有一些 XML 文件 歌词BaseApp servlet xml 休眠文件 数据源 xml beans xml servlet xml 导入其他 xml 文件
  • 如何旋转图像pygame的蒙版

    您好 我在旋转对象的蒙版时遇到问题 旋转蒙版仍处于与原始图像相同的位置 重点是在赛道上移动掩模以形成碰撞 def init self x y height width self x x width 2 self y y height 2 s
  • Angular - 使用 Restangular 时中止 ajax 请求

    我有一个方法调用角度服务 从而通过该服务发出 ajax 请求 我需要确保如果多次调用此方法 则先前的请求将被中止 如果尚未解决 该方法可以被多次调用 这个方法其实是来自ngTable上的ngTableParams getData funct
  • 如何监听 MongoDB 集合的更改?

    我正在创建一种后台作业队列系统 使用 MongoDB 作为数据存储 在派生工作人员来处理作业之前 如何 侦听 对 MongoDB 集合的插入 我是否需要每隔几秒轮询一次以查看与上次相比是否有任何更改 或者我的脚本是否可以等待插入发生 这是我
  • Web应用程序不会加入Infinispan集群

    我最近一直在玩 Infinispan 之前没有使用 Infinispan 的经验 我遇到了一个有趣的问题 我想知道是否有人能够阐明它 我有一个独立的 Java 应用程序 GridGrabber jar 它捆绑了 Infinispan jar
  • 使用后台附件:在 ipad 上的 safari 中修复

    我希望重新创建类似于科普应用程序的效果 基本上有一个大的背景图像 然后在其上有 HTML CSS 层 当用户滚动内容时 图像的背景位置应保持在原位 而不是滚动 显然 在 常规 浏览器中我会使用background attachment fi
  • NodeJS My SQL 查询与 Chain Promise

    我有3个函数 我想逐步调用这个函数 例如当我调用第一个函数并获取结果时 我必须调用第二个函数并传递从第一次调用返回的参数 在完成第二个调用后 我必须调用第三个函数并传递从第二个函数返回的参数 1 getCategory function b
  • 计算无符号整数中位转换数量的最快方法

    我正在寻找最快的方法来计算位转换的数量unsigned int 如果 int 包含 0b00000000000000000000000000001010 转换次数为 4 如果 int 包含 0b00000000000000000000000
  • 无法更改导航控制器中导航栏的高度(它比正常情况宽得多)

    我有一个从主 TabBarController 扩展并扩展 ViewController 的 NavigationController 和 VC 扩展至 2x TableView 因此 TabBar gt NavigationControl
  • Rails 中的 Object#presence 有什么意义?

    在 Rails 文档中 提供的例子 http api rubyonrails org classes Object html method i presence为了Object presence方法是 region params state
  • 当引导服务器关闭时,具有 transactionIdPrefix 的 DefaultKafkaProducerFactory 会无限等待

    Hy 我正在使用 spring kafka 1 3 0 RELEASE 创建事务生产者 当引导服务器关闭时 DefaultKafkaProducerFactory 会无休止地等待 直到引导服务器启动 我究竟做错了什么 我可以设置超时和 或其
  • 更改 GdkPixbuf (GTK3) 中像素的颜色

    我在用着Gtk StatusIcon 并且想要改变某些像素的颜色 我有一段工作代码 它加载一个带有我想要设置的颜色的 1x1 像素 PNG 文件 然后将其复制到图标 Pixbuf 虽然这种方法有效 但它有一个明显的缺点 即必须为每种颜色创建
  • 尝试在 Windows 2016 Core 容器中创建计划任务时出错

    我正在尝试构建一个包含自定义计划任务的容器 这是我的 dockerfile FROM microsoft windowsservercore RUN schtasks create tn hello sc daily st 00 00 tr
  • PHP登录错误未定义索引

    我正在尝试使用此代码登录 session start require connect php username POST username password POST password if username password query
  • ErrorColumn 值不作为 Lineage ID 存在

    在插入目标表期间 发生的任何错误都会被重定向到错误表 我们可以在其中看到ErrorCode and ErrorColumn 问题是我们得到了一个值ErrorColumn它不存在于包中的任何地方 也就是说 没有一个列具有LineageID等于
  • 当我上传到服务器时相机图像发生旋转

    我要么拍照 要么从图库中选择一张照片 然后按应有的方式在 ImageView 中显示它 就旋转而言 但是 每当我将其上传到服务器时 它总是以横向模式上传 即使它在我的画廊中处于纵向模式 我该如何解决这个问题 private void tak
  • Rails 4 + Capistrano 3:致命:部署时无法从远程存储库读取

    我在使用 Capistrano 3 部署 Rails 4 应用程序时遇到以下错误 INFO 87512eb8 Running usr bin env chmod x tmp magnificent git ssh sh as email p