코딩공부/Server

[CI/CD] Django Jenkins 자동 배포하기 - Django 프로젝트 생성 (1)

integerJI 2022. 5. 13. 11:24

 

본 게시글은 Django 및 Aws Ec2의 기초 지식을 알고 있는 전재 하에 처음부터 빠르게 진행됩니다.

 

해당 프로젝트를 통하여 Docker를 이용해 Jenkins 서버를 구축, Django 프로젝트를 Github와 Webhock으로 연결하여 자동 빌드하는 CI/CD 만들기가 목표입니다!

 


Django 기초 시작 : https://integer-ji.tistory.com/81

Aws Ec2 프로젝트 배포 기초 시작 : https://integer-ji.tistory.com/300?category=803336

 

개발 환경 : Window10

개발 언어 : Python - 설치 : https://integer-ji.tistory.com/64

개발 툴 : VS Code  - 설치 : https://integer-ji.tistory.com/65

개발 Terminal : Git Bash - 설치 : https://integer-ji.tistory.com/66


1. 가상환경 설치 및 실행

# 가상환경 설치
python -m venv env

# 가상환경 실행
source env/Scripts/activate

기본으로 사용할 가상환경을 설치하여 줍니다. 

 

현재 사용 중인 Python 버전은 3.10.4 버전입니다.

 

 

2. Django 설치 및 Pip Upgrade

# django 설치
pip install django

# pip upgrade
python -m pip install --upgrade pip​

Django 버전은 잠시 후 pip list를 추출합니다.

 

 

3. 프로젝트 생성 및 이동

# awsProject 프로젝트 생성
django-admin startproject awsProject

# 생성한 awsProject 프로젝트로 이동
cd awsProject/

 

 

4. Settings.py에서 HOSTS 설정

DEBUG = True

ALLOWED_HOSTS = ['*']

 

Ec2 인스턴스에 프로젝트를 올린 뒤 접근을 위해 settings.py 파일 중 ALLOWED_HOSTS의 값을 '*'로 수정합니다.

 

 

5. App 생성

# awsApp App 생성
python manage.py startapp awsApp

 

 

6. requirements 생성

# 현재 가상환경에 설치 된 pip 목록을 requirements.txt에 저장
pip freeze > requirements.txt

# requirements.txt 목록 확인
cat requirements.txt

마찬가지로 프로젝트와 동일 한 pip와 pip를 이용해 설치 한 패키지의 버전을 맞추기 위해 requirements 파일을 만들어 정리합니다.

 

 

7. .gitignore 파일 생성

# 상위 폴더로 이동
cd ..

# env가 있는지 목록 확인
ls

# .gitignore 파일 생성
touch .gitignore

git hub와 사이트에 올리니 gitignore 파일을 만들어 줍니다. 

 

gitignore 만드는 방법은 아래의 사이트에서

 

https://www.gitignore.io/

 

Django, venv, Python 입력 후 "생성" 버튼 클릭

 

 

내용 복사 후

 

 생성한 .gitignore 파일에 저장하면 됩니다!!

 

 

8. 최종 경로 확인 및 GIT PUSH

 

방금 생성한 프로젝트의 최종 파일 시스템 트리 구조 경로입니다.

 

.gitignore와 최상위 프로젝트, 그리고 env 가상환경이 같이 있습니다. 

(해당 부분은 각자의 스타일대로 두셔도 됩니다.)

 

# git 저장소 초기화
git init

# git 저장소 Add
git add .

# git Commit 및 comment 작성
git commit -m 'Feat: Project Create'

# git push
git push origin main

마무리로 github에 커밋해줍니다.

 

 

9. Git Push 확인

잘 올라갔습니다! 

 

요즘 ioniq5에 빠져서 레포 명을 차 이름으로 했네요 ㅎㅎ..

 

Git Hub : https://github.com/integerJI/ioniq5

 

 

다음 게시물에서는 해당 프로젝트를 Aws Ec2에 올려 보겠습니다!