我有一个使用 Gitlab CI 的 Gitlab 环境,用于一个新项目来证明编译的文件并通过 rsync 复制到生产服务器。
这些资源的构建是 exec 的机器是 docker(节点 6)的映像,但现在我必须使用 linux 将结果文件从该容器 Docker 命令复制到服务器......我的问题是通过 ssh 连接同步。
目前我有以下几点:
stages:
- deploy
before_script:
- npm i
- npm run build
job_deploy:
stage: deploy
script:
- ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa
- ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts
- ssh-copy-id -i ~/.ssh/deploy_rsa.pub $SERVER_USER@8.8.8.8
- rsync -avuz $CI_PROJECT_DIR/dist/ $SERVER_USER@8.8.8.8:/var/wwww/example.com
only:
- master
Run Code Online (Sandbox Code Playgroud)
通过这个我得到:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that …Run Code Online (Sandbox Code Playgroud)