首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jenkins和capistrano开发的AutoDeploy rails应用

通过jenkins和capistrano开发的AutoDeploy rails应用
EN

Stack Overflow用户
提问于 2019-12-13 23:41:30
回答 1查看 132关注 0票数 0

作为第一步,我已经使用Ubuntu16.04配置了AWS EC2实例,并配置了Capistrano以便从本地部署到这个AWS EC2实例。

现在,我正在尝试通过Jenkins和Capistrano将rails应用程序从GitHub自动部署到这个Ubuntu服务器(AWS EC2)。注意:我是第一次创建自动部署。

我的rails应用程序(production)和Jenkins在同一个Amazon EC2实例上。当Jenkins任务启动时,它将repo克隆到jenkins工作区,安装gem,然后执行: cap production deploy

但是现在我不能检查Capistrano是否被正确地配置为部署到同一服务器的另一个文件夹,因为当cap production deploy执行时,我得到这个错误:

Net::SSH::AuthenticationFailed: Authentication failed for user jenkins@

我尝试为用户jenkins创建ssh-key,并通过以下命令将其添加到ubuntu用户(默认非根sudo用户):ssh-keygen ssh-copy-id ubuntu@127.0.0.1 and always get permission denied。

有人有什么建议吗?预先感谢capistrano版本3.11

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-14 02:17:44

您可以在jenkin用户的authorized_keys文件中添加ubuntu用户的public-key。你可以在/home/ubuntu/.ssh/authorized_keys上找到它。

但是,在我看来,您应该将jenkins运行器迁移到单独的服务器。

您可以创建一个私有网络组,将servers、production和jenkins runner都放在同一个私有网络中,并将ssh端口暴露在同一个私有网络中,使外部人员无法访问。

然后,将jenkins服务器的公钥添加到生产服务器,如上所述。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59325713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档