2015-01-05 2 views
0

인터넷 검색으로 이에 대한 답변을 찾지 못해서 놀랐습니다. 현재 CDN이 없으며 Anecess를 통해 배포를 실행하고 있습니다. 나는 CDN을 추가하려고 생각하고 있지만 캐시는 간헐적으로 만 무효화되기 때문에 내 서버에 배포하면 내 CDN이 제공하는 정적 파일을 잠재적으로 변경하지 않을 것입니다. 물론 배포를 수행 할 때 가능한 한 빨리 모든 작업을 수행하고 싶습니다. 따라서 어떤 것이 잘못되거나 잘못 될 경우 즉시 알 수 있습니다.CDN을 사용하여 배포하는 방법?

이 모든 것이 실제로 CDN에 배포되어 어떻게 새로운 정적 파일 집합을 제공하고 있으며이를 새로 고쳐야한다고 말했습니까? 이와 같은 기능을 수행하는 Ansible 모듈 또는 일부 CDN 제공 업체의 API가 있습니까? this은 Cloudflare를 암시하는 것처럼 보이기 때문에 모든 배포시 수동으로이 작업을 수행하지 않는 것이 좋습니다.

또한 현재 CloudFlare를 다른 항목에 사용하고 있으므로 멋지게 꾸밀 수는 있지만 사용 사례가 더 나은 경우 다른 항목으로 전환하려고합니다.

제쳐두고, 이것은 CDN의 표준 유스 케이스처럼 보입니다. 그러나 사람들이 정기적으로 CDN에 배포하는 방법에 대한 많은 문서 또는 블로그 게시물을 찾을 수 없습니다. 내가 놓친 게 있니?

답변

3

그래, 퍼지/무효화를 할 수는 있지만 그게 최선이 아닙니다. 정말로 CSS/SASS/무엇이든, 이미지를 스프라이트로 컴파일하고 JS를 컴파일하는 도구를 사용하려고합니다. 마지막으로이 도구는 정적 호스팅을 이해해야합니다. 즉, 게시 할 때마다 고유 한 URL을 사용합니다. 그렇게하면 CDN이 수행하는 데 비용이 많이 드는 퍼지를 할 필요가 없습니다.

감사하게도이 문제를 해결하는 도구가 있습니다. 나는 Ruby's asset-pipeline, Grails's asset-pipelinePython's webassets을 알고 있습니다.

코드를 작성하고 스택을 베이크하는 방법에 따라 정적 인 자산을 업로드/배포하는 데 Anabled를 사용할 수 있지만 대부분은 로컬 또는 s3에 배포 할 수 있습니다.

* 정말 "축소/압축/압축"또는 "전처리"등 무엇이든간에 "컴파일"을 사용하고 있습니다.

+1

콘텐츠가 변경 될 때마다 명시 적으로 CDN을 적용하지 않고 단순히 파일의 내용 (예 : 파일 해시 추가)에 따라 일종의 고유성을 갖도록 파일 이름을 변경하기 만하면됩니다. – Mxx

+0

@Mxx TLDR에 감사드립니다. – tedder42

관련 문제