Skip to main content
 首页 » 编程设计

rsync之如何将构建文件从Gitlab CI同步到另一台服务器

2024年12月31日7pengyingh

我不清楚如何使用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的原因。