如何使用url

时间:2019-12-09 05:02:17

标签: bash git gitlab satis

我有一个服务器example.com。我需要运行命令来构建Satis。我添加了文件index.php,在其中写了<?php echo (' <command for satis build> ');

当我在服务器上执行此命令时,我输入GitLab的登录名和密码。我是在我的用户(user-example)下进行的。但是,当我在网络浏览器中打开example.com时,看到一个错误:

  

主机密钥验证失败。
  致命:无法从远程存储库读取。

     

请确保您具有正确的访问权限
  并且存储库存在。

发生这种情况是因为脚本在用户www-data下运行。

因此,我可以为用户user-example创建ssh密钥并将其用于GitLab,但是我可以为用户www-data创建ssh密钥吗?是否安全?如果我不应该这样做,如何使用网络浏览器(使用URL)更新Satis?

1 个答案:

答案 0 :(得分:0)

您可以在Satis主机上放置一个简单的脚本,该脚本将接受来自Gitlab的Push Event webhooks(但是,如果您不运行自己的gitlab服务器,则必须从gitlab可以访问satis主机)。

您可以从项目的“设置”页面(/ settings / integrations)中设置网络挂钩。填写主机/端口和机密信息,然后选择要接收的事件(对于此“推送事件”就足够了)。除非您具有ssl证书,否则请确保取消选中“启用SSL验证”,否则Webhook将超时。确保在脚本中正在寻找X-Gitlab-Token标头,并在创建集成时将其值验证为包含在集成中的密钥。

验证后,您实际上不需要关心推送中的内容,因为您所做的只是触发Satis构建。

要注意的一件事是,在版本低于10.6的Gitlab中,默认情况下,禁止通过Webhook访问本地网络。您可以阅读原因以及如何重新启用本地访问here