我有一个在ec2 ubuntu实例上运行的NodeJS应用程序,并设置了git,这样我就可以将最新代码直接拉到Node应用程序目录中。我希望允许远程Node开发人员能够将新代码远程推送到Node应用程序,因此我在该框中安装了jenkins,并创建了一个仅运行脚本的工作,以允许jenkins用户执行git pull。 (我必须将jenkins用户添加到sudoer列表中,这样他才能在没有密码的情况下更改为git hub用户,我认为这可能是安全问题)。有没有更好的方法来解决这个问题?这似乎是一个简单的问题,但是没有管理技能。
答案 0 :(得分:0)
我必须将jenkins用户添加到sudoer列表中,这样他才能在没有密码的情况下更改为git hub用户
Jenkins用户不必做任何sudo -u otherUser
。
它应该使用JENKINS SSH Credentials Plugin来使用专用的SSH密钥,该密钥将在GitHub用户帐户中注册:这将使Jenkins帐户能够访问GitHub私有存储库(如果该存储库是公开的, ,则无需进行身份验证)并执行git pull。无需提供任何密码。
答案 1 :(得分:0)
通过SSH发布
怎么样?如果您可以使用简单的ssh密钥从另一台计算机访问远程ec2,则Jenkins可以重用它并执行任何允许使用相关ec2使用密钥的命令。
您还可以配置一个简单的devops流,以避免使用webhooks和jenkins手动进行操作。
这里的配置: