Python と Bitbucket Pipelines

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

robotsnoindex
robotsnoindex

このガイドでは、Bitbucket Pipelines を使用して、Docker コンテナで Python を使うソフトウェア プロジェクトをビルドおよびテストする方法について説明します。

実際に動作するパイプラインを持つデモ リポジトリをインポートしたい場合、デモ用の python リポジトリをご参照ください。
デモ リポジトリのインポート手順

このデモではこのリポジトリをインポートし、最初のパイプラインを実行するためにパイプラインを有効化します。

  1. bitbucket.org にアクセスしてログインし、このリポジトリをインポートします。その後、次の操作を行います。

    gif のインポート

  2. 左側のナビゲーション バーで [Pipelines] をクリックし、下にスクロールして bitbucket-pipelines.yml ファイルを表示します。[有効化] をクリックします。

    gif の有効化

  3. ビルドが実行されるのを確認します。

    gif のビルド

注意: Bitbucket Pipelines には、アカウントごとに 50 分の無料利用時間が含まれています (本記事の執筆時点での情報)。自身のアバター > [Bitbucket 設定] > [プランの詳細] で、その月のチームまたはアカウントの時間の使用量を、分単位で確認できます。




手動でセットアップしたい場合、構成の大部分は Pipelines がビルドを定義するために使用する bitbucket-pipelines.yml ファイル内で行います。

Docker で Python のバージョンを指定する

Bitbucket Pipelines は、構成ファイルの最初に指定したイメージを使用し、すべてのビルドを Docker コンテナで実行します。Docker Hub にあるいずれかの公式 Python Docker イメージを使用して、Bitbucket Pipelines で簡単に Python を使用できます。デフォルトの Python イメージを使用する場合、依存関係の解決に役立つ pip がデフォルトでインストールされています。

たとえば、bitbucket-pipelines.yml ファイルの先頭で指定して Python 3.7.2 を使用できます。

image: python:3.7.2
pipelines:
  default:
    - step:
        script:
          - python --version

Python の異なるバージョンを使用したい場合、Python Docker イメージのタグを変更します。次の例は、Python 3.5.1 のコンテナを開始します。

image: python:3.5.1

サポートされる Python バージョンと対応する image タグの一覧については、https://hub.docker.com/r/library/python/ をご参照ください。

前述の標準 Python イメージのため、Django の Docker イメージは更新が停止されています。

オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。

依存関係をインストールする

requirements.txt ファイルを使用している場合、スクリプトの最初で pip を実行することで、すべての依存関係を簡単にインストールできます。

image: python:3.7.2
pipelines:
  default:
    - step:
        script:
          - pip install -r requirements.txt

pip install コマンドで依存関係をインストールすることもできます。

image: python:3.7.2
pipelines:
  default:
    - step:
        script:
          - pip install django

データベース

Bitbucket Pipelines では、サービスを定義して適切な段階でインスタンス化することで、パイプラインの実行中に追加のサービスを起動できます。

お好みのデータベースで利用を開始するのに役立つよう、bitbucket-pipeline.yml のの一覧を用意しています。


テスト

ローカルでアプリケーションをテストするために使用したコマンドと同じものを、bitbucket-pipelines.yml に追加します。具体的な Python ツールの例を示します。

PyUnit

PYUnit テストはシンプルに実行できます。

image: python:3.7.2
pipelines:
  default:
    - step:
        script:
          - python -m unittest discover tests/

DJango

Django プロジェクトのテストは、ローカルで Django をテストしたときと同じように実行できます。Pipelines 環境にも Django がインストールされていることを確認してください。

image: python:3.7.2
pipelines:
  default:
    - step:
        script:
          - pip install django
          - python manage.py test


オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます

最終更新日 2020 年 6 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.