0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Django + VSCode + Docker + Git・GitHub】コピペでできるリモート開発環境の構築

Posted at

はじめに

本記事では、Djangoのリモート開発環境の構築方法とGit・GitHubを用いたバージョン管理について説明します。予備知識がない方でも作業が進められるように作成していますので、とりあえずリモート開発環境を構築してみたいという人は参考にしていただけると幸いです。

目次

  1. 前準備
  2. Dockerファイルの作成
  3. リモート開発環境への接続とアプリケーションの実行
  4. 参考文献

前準備

Docker Desktopのダウンロード

以下のリンク先
からDockerDesktopをダウンロードして、アカウントを作成してください

こんな感じで画面が表示されれば作業完了です
image.png

Gitのダウンロード

以下のリンク先からGitをダウンロードしてください

画像の通りGit Bashが使えるようになっていれば作業完了です
image.png

GitHubのアカウント作成

以下のリンク先でアカウントを作成してください

VSCodeのインストール

以下のリンク先でVSCodeをインストールしてください

リポジトリの作成

GitHubで以下の通りリポジトリを作成します(リポジトリを作成できれば問題ないので、以下の設定はご自身の状況に合わせて自由に行ってください)

  • プロジェクト名:DjangoProject
  • 公開範囲:Private
  • .gitignore:python

Code→HTTPSを選択してURLをコピー(黒塗りしている部分です)
image.png

VSCodeでプロジェクト管理用のフォルダを作成して開く(新しく空のフォルダを作成していただければいいかと思います)
image.png

ctrl + shift + @でpowershellを起動して以下のコマンドを実行

git clone リポジトリのURL

DjangoProjectがcloneされていればOKです
image.png

Dockerファイルの作成

拡張機能→Remote Developmentをインストール
image.png

画像の通りFlaskProject内に.devcontainerフォルダと設定ファイルを作成する
image.png

devcontainer.jsonの中身を以下の通り編集

{
  "name": "django.devcontainer",
  "dockerComposeFile": "docker-compose.yml",
  "service": "web",
  "workspaceFolder": "/vsc_workspace",
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python"
      ]
    }
  }
}

docker-compose.ymlを以下の通り編集(PostgreSQLを使用する想定でdjango_sampleというDBを作成するように設定を行っています)

version: '3'

services:
  web:
    build: .
    tty: true
    volumes:
      - ../:/vsc_workspace
    depends_on:
      - db

  db:
    image: postgres
    volumes:
        - postgres_data:/var/lib/postgresql/data
    environment:
        POSTGRES_USER: postgres
        POSTGRES_PASSWORD: password
        POSTGRES_DB: django_sample

  pgadmin4:
    image: dpage/pgadmin4
    ports:
        - 8888:80
    volumes:
        - pgadmin4_data:/var/lib/pgadmin
    environment:
        PGADMIN_DEFAULT_EMAIL: test@gmail.com
        PGADMIN_DEFAULT_PASSWORD: password
    depends_on:
      - db

volumes:
    postgres_data:
    pgadmin4_data:

Dockerfileを以下の通り編集

FROM python:3.11

ENV PYTHONUNBUFFERED 1

RUN mkdir /code

WORKDIR /code

COPY requirements.txt /code/

RUN pip install -r requirements.txt

COPY . /code/

画像の通りDjangoプロジェクトをDjangoProjectフォルダの直下にmanagement.pyが来るように配置
image.png

リモート開発環境への接続とアプリケーションの実行

VSCodeでDjangoProjectフォルダを開く(Djangoフォルダではなく.devcontainerを直下に持つフォルダを開いてください)
image.png

画面左下の><ボタンをクリック→コンテナーで再度開くをクリック(実行にはしばらく時間がかかります。また、リモート開発環境を立ち上げるにはDocker Desktopを立ち上げている必要があります)
image.png

settings.pyのDB接続情報を以下のように設定(本記事のdocker-compose.ymlファイルをコピペした場合)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'django_sample',
        'USER': 'postgres',
        'PASSWORD': 'password',
        'HOST': 'db',
        'PORT': '5432',
    }
}

ctrl + shift + @でターミナルを起動して以下のコマンドを順に実行

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

画像の通りURLが出てきたら成功です(URLをクリックするとアプリが立ち上がります)
image.png

リモート開発環境の運用方法

リモート開発環境を構築出来たら以下のサイトを参考にGit・GitHubを用いたバージョン管理を行いましょう

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?