😎 Github-action에서 데이터베이스 연결하기
📖 yml 파일 수정
- env: 환경변수
- mysql -e: escaping 문자열 전달 (명령어 바로 실행)
github-action에서도 실행가능하고 interactive shell을 사용할 수 없기 때문에 사용함.
name: Django CI
on:
push:
jobs:
ci:
env:
DB_DATABASE: sparta
DB_USER: root
DB_PASSWORD: 12345
runs-on: ubuntu-latest
steps:
- name: Check out the codes
uses: actions/checkout@v2
- name: Set timezone to KST
run: |
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# Start Mysql
# https://ovirium.com/blog/how-to-make-mysql-work-in-your-github-actions/
- name: Start Mysql
run: |
sudo systemctl start mysql
mysql -e "use mysql; FLUSH PRIVILEGES; ALTER USER '${{ env.DB_USER }}'@'localhost' IDENTIFIED BY '${{ env.DB_PASSWORD }}';" -uroot -proot
mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }};' -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }}
- name: Setup python environment
id: setup-python
uses: actions/setup-python@v2
with:
python-version: 3.9.9
- name: Install Poetry
run: |
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
echo "${HOME}/.poetry/bin" >> $GITHUB_PATH
- name: Install dependencies
run: |
${HOME}/.poetry/bin/poetry install
- name: Test python project
run: |
poetry run python manage.py test
📖 github push
github-action에 secret기능이 있어, 중요한 데이터베이스 정보의 경우 제외되고 공개된다.
하지만 현재 데이터베이스에는 중요한 정보가 없기 때문에 굳이 secret을 사용하지 않음.
git push 후 github-action이 잘 실행되었는지 확인한다.(성공한다면 초록색 체크가 뜬다.)
'💻 개발블로그 > django' 카테고리의 다른 글
Django심화강의:2주차(04)(20220216) (0) | 2022.02.16 |
---|---|
Django심화강의:2주차(03)(20220215) (0) | 2022.02.16 |
Django심화강의:2주차(01)(20220214) (0) | 2022.02.14 |
Django심화강의:1주차(10)(20220213) (0) | 2022.02.14 |
Django심화강의:1주차(9)(20220213) (0) | 2022.02.13 |