LoginSignup
0
1

More than 1 year has passed since last update.

DjangoとDocker練習[O17o2o0] gitでソースをクローンしよう!

Last updated at Posted at 2022-08-14

DjangoとDocker練習[O17o2o0] gitでソースをクローンしよう!

Git を使ってソースをデプロイする方法を説明する

情報

この記事は Lesson 1. から順に全部やってこないと ソースが足りず実行できないので注意されたい

What is This is
Lesson 1. 📖 DjangoとDockerでゲーム対局サーバーを作ろう!

用語解説

  • レポジトリ - ソースを置いているディレクトリー

手順

本題に入る前に

Git Hub にレポジトリを作っておいてほしい

git をインストールする

📖 1.5 使い始める - Gitのインストール

git は Dockerコンテナの外側のOSにインストールしたい

👇 Ubuntu を使っているときは、以下のコマンドを打鍵してほしい

sudo apt-get install git-all

ソースをクローンしたいディレクトリーに移動する

👇 例えば 以下の場所にソースを置きたいとする
ディレクトリーは作成しておいてほしい

    📂 /
        └── 📂 home
            └── 📂 ubuntu
👉              └── 📂 repos  この中にソースを置きたい
cd /home/ubuntu/repos

ソースをクローンする

URLは適宜変えてほしい

👇 1回目は、イニシャライズしてクローン

git init

git clone https://github.com/muzudho/django-practice2.git
#         -----------------------------------------------
#         1
# 1. Git Hub の レポジトリのURL
#
# ここまでは1回行うだけでよい

👇 2回目以降は、プルしてフェッチ(この操作でサーバーが壊れる。あとで説明する)

# (慎重)ローカルの変更をすべて破棄したいなら
git restore .

# 取得
git pull https://github.com/muzudho/django-practice2.git
git fetch https://github.com/muzudho/django-practice2.git

以下の2つを説明する

  • パーミッションが変わってるかもしれない
  • Docker が止まっているかもしれない

これでディレクトリー構成はクローンされる。
👇 例えば以下のように

    📂 /
        └── 📂 home
            └── 📂 ubuntu
                └── 📂 repos
                    └── 📂 django-practice2     # レポジトリ
                        ├── 📂 docs
                        ├── 📂 src1
                        ├── 📂 src2_local
                        ├── 📄 .gitignore
                        ├── 📄 LICENSE
                        └── 📄 README.md

fetch したらデータベースが壊れてるかも

👇 マイグレーションすると直るかもしれないが、何をやってるのか さっぱり分からない

docker-compose run --rm web python3 manage.py migrate sites
docker-compose run --rm web python3 manage.py migrate

パーミッション

Windows に無くて Linux に有るのが ファイルのパーミッション。
👇 確認してほしい

Input:

ll

Output:

total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 14 20:05 ./
drwxr-xr-x 7 ubuntu ubuntu 4096 Aug 14 20:05 ../
drwxrwxr-x 6 ubuntu ubuntu 4096 Aug 14 20:05 django-practice2/

さくらのVPS を借りると ubuntu というユーザーだったので、そうする

# 指定のフォルダー以下のすべてのファイル、ディレクトリーのパーミッションの変更(上書き)の例
sudo chown -R ubuntu:ubuntu django-practice2
# サーバーのパスワードを入力

👇 docker-compose は ルート権限で実行しないといけないかもしれない

sudo docker-compose up

DEBUG フラグ

  • settings.py の DEBUGフラグは下げてほしい

.env ファイルをアプロードしてほしい

このファイルの内容は秘密にすること

    📂 /
        └── 📂 home
            └── 📂 ubuntu
                └── 📂 repos
                    └── 📂 django-practice2     # レポジトリ
                        ├── 📂 docs
                        ├── 📂 src1
                        ├── 📂 src2_local
👉                      ├── 📄 .env
                        ├── 📄 .gitignore
                        ├── 📄 LICENSE
                        └── 📄 README.md

次の記事

0
1
1

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
1