컴파일 된 파일에 대해 증언하고 rsync를 통해 프로덕션 서버로 복사하는 새 프로젝트를 위해 Gitlab CI를 사용하는 Gitlab 환경이 있습니다.
이 리소스의 빌드가 exec 인 시스템은 docker (노드 6)의 이미지이지만 이제는 Linux를 사용하여 컨테이너 Docker 명령의 결과 파일을 서버로 복사해야합니다 ... 내 문제는 ssh를 통해 연결하는 것입니다 rsync.
현재 다음과 같은 것들이 있습니다 :
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
이것으로 나는 얻고있다 :
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
3
내가 여기서 과소 평가하지 않은 것 : 모든 빌드가 아닌 즉시 새 ssh 키를 생성하고 있습니까? pub 키를 배포하기 위해 ssh leys를 사용하는 지점은 어디입니까?
—
lrkwz
@lrkwz와 마찬가지로 어쨌든 암호를 물을 때마다 모든 빌드에서 새 키를 보내는 지점이 누락되었습니다. 또한, 나는 원격 서버
—
Fábio Duque Silva