我不清楚如何使用rsync将构建文件从Gitlab CI(托管在https://ci.gitlab.com上)转移到我的个人服务器上。
我已经设置了1个测试和1个部署作业。
在部署选项卡下,我已将bash命令输入到:
安装rsync
更新包
最后,使用rsync命令
通过SSH将文件传输到我的个人服务器。
当我输入我的私人个人服务器的SSH凭据(带有详细标志)时,似乎SSH密钥就是问题。在Gitlab中,我已经建立了部署密钥(对于钩子-已对此进行了测试并且可以工作)。
我在哪里可以找到Gitlab部署实例的公共SSH密钥,以便可以在服务器上安装该密钥?
以下是在Gitlab CI部署作业脚本窗格中输入的确切脚本:
# Run as root
(
set -e
set -u
set -x
apt-get update -y
apt-get -y install rsync
)
git clone https://github.com/bla/deployments.git $HOME/deploy/deployments
SVR_WEB1_WEBSERVER="000.11.22.333"
USER1="franklin"
GROUP1="team1"
FROM_DIR="/gitlab-ci-runner/tmp/builds/myrepo-1/"
DEST1="subdomains/gitlab/myrepo"
EXCLUSIONS_LIST="${HOME}/deploy/deployments/exclusions/exclusions.txt"
ssh -v "$USER1@$SVR_WEB1_WEBSERVER"
/usr/bin/rsync -avzh --progress --delete -e ssh --group=$GROUP1 -p --exclude-from "$EXCLUSIONS_LIST" "$FROM_DIR" "$USER1@$SVR_WEB1_WEBSERVER:$DEST1"
请您参考如下方法:
除非您使用自己的gitlab-ci运行程序进行部署,否则提供私有ssh密钥很危险。这就是为什么最好使用rsync modules的原因。