Cookiecutter升級

BACKEND升級收官之戰

Posted by silau on September 25, 2019

之前已經在Docker Cloud上實作了新的Django Base Image,並將Django 1.11升級到2.0,相關的 library 也全部跟住升上來。

BACKEND升級也終於來到第三階段,跟隨最新的Cookiecutter (版本2.0.13) 將其他 Docker Compose的內容一併升上來。

當中最主要的變化是將 Caddy換成Traefik,以及額外加入了Celery-Flower方便監控Celery工作的結果,awscli 用得不多所以就直接跳過了。在測試過程中也發現Cookiecutter在設定Amazon S3的MEDIA URL預設方式有所改變,這裡使用的是django-storages,由於舊有的URL不會自動跟隨新設定而變化,為了兼容已經儲存的大量圖片,目前是採用舊Cookiecutter的設定方式。

新舊S3 MEDIA URL的寫法只有極少差異,但可以感覺到新寫法是為了方便配合CDN使用,這是一個重要的題目,將來另寫一篇。

# New
MEDIA_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com/'

# Old
MEDIA_URL = f'https://s3.amazonaws.com/{AWS_STORAGE_BUCKET_NAME}/'

順帶一提的是在BACKEND升級的同時也根據最新的Cookiecutter (版本2.0.13) 建構了這個Mini-Blog,以方便參照當中的一些設定上的變化。之前因為未有時間寫Wagtail的Stream Field而一直避開任何跟coding相關的內容,終於第一次在上面輸入了這個博客的第一段code,而這也代表了一個簡單的Stream Field已經寫完,這將是另一個大課題,下次談。

最後,後端升級的準備到這裡就差不多了,今日正式上線,希望一切都順利吧。

後記:新版本Cookiecutter 有預設上載圖片的目的地位置,以及取消了Bucket的Default ACL,帶來了不少後續的麻煩。

而為了重新配置好Bucket,最後都將awscli裝上了。