Migrate_to_s3 실패

‘default’ 업로드를 S3로 마이그레이팅 중…
S3로 파일 업로드 중…

  • 로컬 파일 목록 조회
    find: ‘uploads/default/original’: No such file or directory
    => 0개 파일
  • S3 파일 목록 조회
    … => 81070개 파일
  • S3로 파일 동기화 중

데이터베이스의 URL 업데이트 중…
기존 최적화 이미지 삭제 중…
라이트박스를 포함하는 모든 게시글을 재빌드 대상으로 표시 중…
54453개 게시글이 재빌드 대상으로 표시되었습니다
rake 중단됨!
FileStore::ToS3MigrationError: 53개 게시글이 새 S3 업로드 URL로 재매핑되지 않았습니다. ‘default’ db에 대한 S3 마이그레이션이 실패했습니다.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in raise_or_log' /var/www/discourse/lib/file_store/to_s3_migration.rb:87:in migration_successful?’
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in migrate_to_s3' /var/www/discourse/lib/file_store/to_s3_migration.rb:66:in migrate’
/var/www/discourse/lib/tasks/uploads.rake:123:in migrate_to_s3' /var/www/discourse/lib/tasks/uploads.rake:102:in block in migrate_to_s3_all_sites’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:80:in with_connection' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:90:in each_connection’
/var/www/discourse/lib/tasks/uploads.rake:100:in migrate_to_s3_all_sites' /var/www/discourse/lib/tasks/uploads.rake:96:in block in ’
/usr/local/bin/bundle:25:in load' /usr/local/bin/bundle:25:in ’
Tasks: TOP => uploads:migrate_to_s3
(전체 추적을 보려면 --trace 옵션과 함께 작업을 실행하십시오)

네, 이미 여기서 해당 논의 내용을 보셨을 수 있습니다:

네, 방금 이 주제를 읽었습니다. 저는 볼륨을 사용하지 않으므로 discourse cdn url = “” 로 설정했지만 여전히 오류가 발생합니다.
@Falco 님이 제안한 대로 to_s3_migration.rb 파일을 수정하는 방법을 찾을 수 없습니다.

이전 게시물에 있는 오류 메시지를 보면, 85번째 줄의 count 값이 중요합니다. @Falco가 제안한 스크립트 수정 방법은 해당 count 값을 증가시켜 일정 수의 실패를 무시하도록 하는 것입니다.

이를 가장 간단하게 수행하려면 컨테이너에 진입한 후 sed를 사용해 해당 특정 줄에 대해 인플레이스(in-place) 치환을 실행하면 됩니다.

cd /var/discourse
./launcher enter app
sed -i '85s/0/100/' lib/file_store/to_s3_migration.rb

이후 rake 작업을 다시 실행하면 최대 100건의 “post not remapped to new S3 upload URL” 오류를 무시합니다. 이 변경 사항은 다음 번에 재빌드(rebuild)할 때 사라집니다.

원본 게시물의 오류 메시지에 대해서는 @Falco가 언급했듯이 77번째 줄이 중요합니다. sed 명령에서 줄 번호만 교체하면 됩니다:

sed -i '77s/0/100/' lib/file_store/to_s3_migration.rb

이미지 내부에서 apt install vim을 실행하여 vim을 설치하면 언제든 사용할 수 있습니다.

완성! 훌륭해요. 감사합니다!!