我是一个新手,有这个 CI/CD 容器的东西,所以请在我错的地方纠正我。
我似乎无法找到如何通过在我的 jenkins 实例(工作区)上创建的 npm 构建文件发送到远程服务器。我有一个管道可以成功引入我的 github 存储库,完成我所有有趣的 npm 工作(npm 安装、测试、构建)。我在我的 jenkins 实例 /workspace 中看到了我的构建目录。
我的环境如下。我们有一个安装了 docker(带有 Portainer)的服务器。詹金斯在一个安装了卷的容器中运行(我的反应构建目录在这里)。管道或构建等没有问题。我只是不知道如何将我的工件从我的詹金斯工作区目录推送到我的“远程”开发服务器。
我可以使用我的远程服务器凭据(但需要密码)在我的 jenkins 容器中成功打开控制台(作为 jenkins 用户的端口)和工作区目录中的 scp 文件。
我安装并使用了“通过 SSH 发布”Jenkins 插件,并从我的设置中获得了成功的“测试配置”。
我在远程机器上创建了我的 RSA 密钥(我试图将我的构建文件推送到)。然后,我将私钥(在没有密码的情况下创建)粘贴到插件的“使用密码身份验证,或使用不同的密钥”部分。同样,我获得了成功的测试连接。
在我的管道中,最后一步是部署,我使用这个命令
sh 'scp -r build myusername@xx.xx.xx.xx:/var/files/react-tester'
我收到“权限被拒绝(公钥、密码)”。错误。我没有与 rsa 密钥关联的密码。我尝试了两种方法,在远程机器上创建 rsa 密钥作为我的远程用户,将 jenkins 机器作为 jenkins 用户。我已经阅读了人们以两种方式创建密钥的示例,但不确定创建密钥并粘贴到“通过 SSH 发布”插件的哪个部分的用户/机器组合。
我没主意了。