【筆記】Gitlab CI/CD - Python 版本

今天要跟大家分享一下,Python 的專案如何透過 Gitlab 做到 CI/CD 呢?

大部分的東西其實跟 Java 的版本沒有太大的差異,大家可以參考 Gitlab CI/CD 教學(一)

我這邊特別挑幾個需要注意的地方出來。

Quick Start

我們這次要特別注意的有 Pythonpackage 的安裝與環境變數的設定,接下來我開始說明吧!

Dockerfile 撰寫


我這邊使用的原始 imagepython:3.7.2-alpine3.9。有以下幾點要注意。

  • 先將 apk 做更新,並且加入 tzdata,我們希望 docker 內部時區與 Host 時區一至,可參考【筆記】Docker Timezone 設定
  • 設定工作目錄,並將程式碼複製過去。
  • 安裝所需要的 Python package,不過在安裝的時候,有時候會出現 gcc 之類的錯誤,主要是因為我們選用的是 alpine 是比較精簡的 Linux,因此需要多加上 apk add --no-cache g++ libressl-dev postgresql-dev libffi-dev gcc musl-dev python3-dev && \
  • 設定 PROFILE 參數,希望依據不同環境進行不同參數切換。
  • 設定 PYTHONPATH 參數。
  • 使用 crontab 來定期執行我的 Python

.gitlab-ci.yml 撰寫


我們使用的 imagegitlab/dind

Pyhton project 專案目錄結構

今天介紹就到這邊喔!如果有問題,請再跟我說喔!

謝謝您的支持與鼓勵

Ads