gitlab-ci rsync 폴더를 사용하는 방법

gitlab-ci rsync 폴더를 사용하는 방법

다음 이름의 폴더에 있는 로컬 파일을 동기화하려고 합니다.거리그리고뿌리.gitlab-ci.yml작업이 성공적으로 실행되었지만 내 FTP 루트 폴더는 여전히 비어 있습니다 .

에만 액세스할 수 있는 ftp 계정을 만들었습니다 httpdocs. 내 파일을 httpdocs에 복사하고 싶습니다.

이 코드를 사용하여 파일을 복사하고 있습니다.

rsync -avh --delete --rsh="sshpass -p $PROD_FTP_PASS ssh -o StrictHostKeyChecking=no "  ./dist/ [email protected]/

이 명령은 다음을 기록합니다.

sending incremental file list
created directory [email protected]
./
android-chrome-192x192.png

          4.69K 100%    0.00kB/s    0:00:00  
          4.69K 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=18/20)
android-chrome-256x256.png

          6.41K 100%    6.12MB/s    0:00:00  
          6.41K 100%    6.12MB/s    0:00:00 (xfr#2, to-chk=17/20)
app.css

          2.06K 100%    1.97MB/s    0:00:00  
          2.06K 100%    1.97MB/s    0:00:00 (xfr#3, to-chk=16/20)

sent 62.95K bytes  received 423 bytes  126.74K bytes/sec
total size is 61.64K  speedup is 0.97
Job succeeded

나는 사용 dist/하거나 dist차이를 만든다는 것을 읽었습니다. 폴더가 아닌 해당 파일을 복사하고 싶습니다. 비록 나는 이 파일들을 내 ftp 계정의 루트 디렉토리(예: )에 넣고 싶습니다 httpdocs/.

내가 무엇을 잘못했으며 내 FTP 계정을 사용하여 파일을 볼 수 없기 때문에 파일이 지금 어디에 복사되어 있습니까?

또 다른 오류 메시지:

데이터를 임의의 경로로 보내려고 하면 다음 오류가 발생합니다.

$ rsync -avh --progress --delete --rsh="sshpass -p $PROD_FTP_PASS ssh -o StrictHostKeyChecking=no " ./dist [email protected]/httpdocs/yellowstorm
sending incremental file list
rsync: mkdir "/builds/fyd/fyd-presite/[email protected]/httpdocs/yellowstorm" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(674) [Receiver=3.1.1]
ERROR: Job failed: exit code 1

답변1

rsync의 원격 소스/대상 구문은 [<user>@]<host>:[path]최소한 이것이 example.com:중요 해야 합니다 :.

원격 장치는 그렇지 않으므로 :rsync는 파일을 로컬 디렉터리(빌드 계획에서 ls를 실행하여 확인할 수 있음)에 복사합니다. 대신 원격 장치의 루트(서버 루트)에 복사하는 디렉터리를 [email protected]사용해야 합니다. [email protected]:/ftp 루트(ssh를 사용하고 있으므로)를 사용하거나 [email protected]:사용자의 홈 디렉터리에 복사하세요.

관련 정보