2022 YTP 比賽導入了 TPS 系統,今年是透過一台額外的機器負責管理題目上傳,以下是把 TPS 安裝入 YTP CMS 系統的方法:
要讓 CMS 支援 TPS 需要在 /cms/cmscontrib/loaders
中加入 TPS 的引用程式。這個部份我們 merge 了去年的 CMS source,保留了原本的功能同時加入了 TPS。
今年的 TPS 有一個問題是 subtask 順序不符合
subtasks.json
設定,這個問題也在我們的 repo 修正完成。
我們的改動和原本的 YTP CMS 系統架構相容,所以只需要使用新的 docker image 。
Dockerfile
修改 repo 位置
完整板
將 deploy-apply.yml 的所有 image 欄位從 brianbbsu/cms:YTP2020
改成 cms-docker
方法跟之前一樣
TPS 的使用方式可以參考 https://drive.google.com/file/d/1_2uCbHwx0WYG4g4eAVn0BUB2cKfLpJQm/view?usp=sharing 資料夾中的 README.md 資料夾中包含 tps 的範例結構。
匯入題目的方法是在機器上放入題目資料夾,假設 path 是 PROBLEM。
這邊假設 cms.conf 放在 CMS_CONF_PATH
以下是一些我在 2022 YTP 的幾次比賽中獲得的經驗整理分享:
checker
的題目要多檢查: