我们正在尝试使用Bitbucket Pipelines将基本的角度应用程序部署到Google Cloud上的VM,但不确定如何使用SSH密钥连接到服务器以复制构建文件。寻找示例,但找不到。
我们能够使用Putty / SSH命令手动复制 dist 文件。
我们拥有Google Cloud VM的公钥/私钥,并将其添加到Bitbucket Pipelines> SSH密钥
我们的YML脚本如下:
image: node:6.9.4
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
- npm install
- npm install -g @angular/cli@1.6.4
- ng build --prod
- cd dist/
- ssh -i ???
答案 0 :(得分:1)
正如@Chris所说,that article是正确的起点。 步骤是:
通过UI或通过运行在BitBucket中添加SSH密钥
ssh-keygen
更新已知主机。
通过
将公钥添加到远程主机 cat ~/.ssh/my_ssh_key.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
或通过
`ssh-copy-id -i my_ssh_key username@remote_host`
然后使用此命令(应该在您的脚本中)复制文件:
scp username@remote_host:/path/to/file /path/to/destination
答案 1 :(得分:0)
非常确定this tutorial可能派上用场
答案 2 :(得分:0)
我们能够解决以下问题:
在Bitbucket下>项目源存储库>设置>管道> SSH密钥
如下更新您的脚本:
image: node:8
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
#- echo "$(ls -la)"
- npm install
- npm install -g @angular/cli
- ng build --prod
- echo "$(ls -la dist/)"
- scp -r dist/ user@1.2.3.4:/home/suren/temp