歡迎你一起參與並為 PyCon TW 社群貢獻,希望這份紀錄對你在開發上有幫助 :)
起手式當然是先把 PyCon TW 的官網試著跑起來看看,今年有整理了一下 README.md,相信應該非常容易上手!
首先從 PyCon TW GitHub 中點擊 fork repo 回自己的 GitHub,接下來 git clone
專案到本地後,目前有兩種方式可以讓專案跑起來:
基本上都包好 docker-compose 了,只需要下一行指令就完成了,非常簡單!
$ ./enter_dev_env.sh
docker 小補充:
當 docker 跑起來後,如果要進行像是操作,像是增加 admin 帳號的話,可以使用 docker exec
進入環境,如下
1. $ docker ps 找到你的 <docker name>
2. $ docker exec -it <docker_name> bash -> 會進到 docker 裡面
3. 在 docker 裡面 $ cd src && python3 manage.py createsuperuser 就可以開始建立 admin 帳號了
4. 操作結束按[ctrl+d]離開docker
關於 docker exec 的詳細用法可以參考這篇官方說明
安裝步驟比較麻煩,主要會分成三步驟:
local.env
檔案完整的安裝流程,詳細內容整理在 這篇 deploy_local_env_dev.md
不論是使用 Docker 或本地環境跑起來後,進入 http://0.0.0.0:8000/ 就會看到目前最新版本的 PyCon 官網囉!
開始前,首先建立新的分支,再開始任務,關於 git branch 指令,可以參考如下:
$ git branch # 查看本地所有分支
$ git checkout <Name> # 切換到指定分支
$ git checkout -b <Name> # 建立且切換到建立的分支
$ git branch -d <name> # 刪除指定分支
接下來可能會遇到當 fork 的專案,落後於 PyCon 的主專案時 (如下紅框框):
可以將使用 merge 讓本地的專案更新,讓兩邊版本保持一致:
$ git remote add upstream git@github.com:pycontw/pycon.tw.git
$ git fetch upstream
$ git checkout master
$ git merge upstream/master # or $ git rebase upstream/master
$ git push origin master
如果有改到 model 的東西,記得要重新 migrate 一次 (關於 migrate 可參考這篇官方文件)
$ python3 manage.py makemigrations
$ python3 manage.py migrate
如果有修改到 i18n 的東西,記得需要跑 compilemessages (關於 i18n 可參考這篇官方文件)
$ python3 manage.py compilemessages
push 之前跑跑測試,看看有沒有遇到什麼問題!
$ cd src
$ pytest -n 2 --cov=.
都正常的話,就可以 push 了
$ git push
在自己的專案中,選擇 New pull request
選擇剛剛的分支後,下方可以看到這次的 commit 和更動的紀錄
確認都沒問題,就可以點擊 create pull request,接下來就是針對這次的任務進行描述,主要的描述重點可以分成以下六項:
最後就完成 PR 囉,接下來等待大家的 review 和建議就可以了~
經過大家的 review 過後,如果有需要修改的部分,只需要重新 push 一次,PR 就會自動更新囉!
專案中的 ccip:
是整合了 OPass 的活動資訊的解決方案,OPass 是為了台灣開源資訊社群研討會所開發的報到 App,關於更多 OPass 可以參考此篇文件。