Project Management/Github
django : 제로부터 시작하는 인스타그램 devops 4편 | github action을 사용해서 CI/CD구축하기 - 학습 정리
영상 정보 : https://www.youtube.com/watch?v=7bf4rK2rMPM
소스 정보 : https://github.com/tkdlek11112/django_zero_to_instagram_devops_youtube/blob/main/content/views.py
1. 요약
1. 해당 영상은 기본적인 학습을 다루고 있으나 DRF를 기반으로 하고 있다는 점에서 차후 학습할 가치가 있다.
2. github action과 관련하여 CI와 CD를 분리하고 있다는 것에서 해당 영상 학습을 하게 되었다.
2. 학습 정리
1. CI 코드 :
name: Django CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run Tests
run: |
python manage.py test --settings=Jinstagram.settings_local
1. max-parallel: 4라는 항목이 있으며 이는 matrix job을 동시에 실행할 수 있는 최대 job수 이다.
2. 나머지 코드들은 다른 예시들과 유사하다.
2. CD 코드 :
name: Django CD
on:
workflow_run:
workflows: [ "Django CI" ]
types:
- completed
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: connect ec2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: 22
script: |
cd /home/ubuntu/django_zero_to_instagram_devops_youtube
git pull
sudo systemctl restart uwsgi
1. on, 트리거 항목이 달라졌다. 해당 항목의 의미는 Django CI라는 workflows가 성공적으로 종료되면이다.
2. ssh-action 라이브러리를 사용하여 배포를 시도한다.
'Project Management > Github' 카테고리의 다른 글
Django CICD with GitHub Actions - did coding 학습 정리 (2) | 2023.06.09 |
---|---|
code academy 학습 정리 2 - Github Actions | Create Cron Schedule | Sending Email (0) | 2023.06.06 |
code academy 학습 정리 1 - Django automated testing with GitHub Actions (0) | 2023.06.06 |
GitHub Actions Runner 빌드 실전 적용기 / if(kakao)2022 정리 (0) | 2023.06.05 |
github actions 자동 배포 : ssh-action 사용 방법 (0) | 2023.06.04 |
댓글