【问题标题】:Using jenkins to pull git hub code to update Node js app使用jenkins拉取github代码更新Node js app
【发布时间】:2018-12-29 21:50:00
【问题描述】:

我有一个在 ec2 ubuntu 实例上运行的 NodeJS 应用程序,并安装了 git,因此我可以将最新代码直接拉入 Node 应用程序目录。我想让远程 Node 开发人员能够将新代码远程推送到 Node 应用程序,所以我在那个盒子上安装了 jenkins,并创建了一个只运行一个脚本以允许 jenkins 用户执行 git pull 的作业。 (我不得不将 jenkins 用户添加到 sudoer 列表中,这样他就可以在没有密码的情况下更改为 git hub 用户,我认为这可能是一个安全问题)。有没有更好的方法来解决这个问题?这似乎是一个简单的问题,但没有管理技能。

【问题讨论】:

    标签: node.js jenkins amazon-ec2


    【解决方案1】:

    我必须将 jenkins 用户添加到 sudoer 列表,这样他就可以在没有密码的情况下更改为 git hub 用户

    Jenkins 用户不应该做任何sudo -u otherUser

    它应该使用JENKINS SSH Credentials Plugin 以使用将在 GitHub 用户帐户中注册的专用 SSH 密钥:这将使 Jenkins 帐户能够访问 GitHub 私有存储库(如果存储库是公开的,则将不需要身份验证)并执行 git pull。无需提供任何密码。

    【讨论】:

    • 我想这样做,但我无法为 jenkins 用户创建 ssh 密钥。这是一个没有密码的帐户。所以我无法以 jenkins 身份登录并创建密钥。
    • @AlperAkture 您不必登录。您只需通过 SSH Crederntial 插件 GUI 注册新的 SSH 密钥。
    • Credentials 插件好像有点复杂,等我整理出来试试看。感谢您的帮助!
    【解决方案2】:

    Publish Over SSH 插件怎么样

    如果您可以使用简单的 ssh 密钥从另一台机器访问远程 ec2,Jenkins 可以重用它并执行允许与相关 ec2 使用密钥相关的任何命令。

    您还可以配置一个简单的 devops 流程以避免使用 webhooks 和 jenkins 手动执行步骤。

    这里是配置:

    How to deploy my Node server to ec2

    【讨论】:

    • 感谢您的提示,我会尝试并告诉您进展如何。
    猜你喜欢
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2019-10-18
    • 2019-01-09
    • 2015-02-16
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多