728x90 반응형 분류 전체보기115 [Cloud] CD: Github Actions - 환경변수, docker-compose workflow 내 환경변수 설정 및 docker-compose.prod.yml 수정 repository 가 sercret 에 있던걸 variables 로 변경 https://docs.github.com/en/actions/learn-github-actions/variables#using-the-env-context-to-access-environment-variable-values name: CD using Docker Image on: push: branches: - main env: # 자주 사용하는 부분은 묶어서 사용할 수 있다. IMAGE_TAG: ${{ vars.NCP_CONTAINER_REGISTRY }}/lion-app:latest jobs: build_push_to_ncp: name: p.. Dev./Github Actions 2023. 8. 21. [Cloud] CD: Github Actions - ssh, git pull ssh 로 접속해서 git pull 받기 ssh 로 접속하기 위해서는 키가 필요한데 이 부분은 github 에 저장해두고 사용한다. # lession2.yml name: CD by git pull on: workflow_dispatch: # from now on, this file is not in automation process # push: # branches: # - main jobs: deployment: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: git pull via SSH uses: appleboy/ssh-action@v1.0.0 with: host: ${{ secrets.HOST }} username: ${{ se.. Dev./Github Actions 2023. 8. 19. [Cloud] CD: Github Actions - docker build docker 파일을 actions 로 빌드해보기 이번에는 push 가 되었을 때 도커파일로 장고 앱이 빌드가 되고 이미지가 출력되는 워크플로우를 만들어보자 기존에 사용하던 명령어 docker run --name lion-app ... docker images 참고용 .github/workflow/lesson1.yml name: lesson1 on: # if the below events are on, push: # push event pull_request: # pull_request event jobs: # these below tasks are on echo-event: name: echo event runs-on: ubuntu-latest steps: - name: get event run: ech.. Dev./Github Actions 2023. 8. 18. [Cloud] CD: Github Actions - workflow push & pull-request 알림 workflow 만들기 github actions → using workflow 로 가서 어떻게 사용하는지 확인한다. workflow 작성 # lesson1.yml name: lesson1 on: push: pull_request: jobs: echo-event: name: echo event runs-on: ubuntu-latest steps: - name: get event run: echo "This event is ${{github.event_name}}" push 를 하면 github actions 에 해당 내용들이 기록되어진다. 이번에는 pull-request 를 확인해보자 dev branch 를 파서 새롭게 업데이트 한 후 push 를 하면, dev_.. Dev./Github Actions 2023. 8. 18. [Cloud] CD: Continuous Deployment (feat. github actions) NCP 로 배포를 해보면서 자동화의 필요성을 계속해서 알게되었다. 업데이트 될 때마다 테스트를 하고 자동으로 뿌려주는 과정을 설계하는 CD, Continuous Deployment 를 적용하려면 뭘 알아야 할까 ? CD 란, 소프트웨어 개발에서의 자동화된 프로세스로, 변경 사항을 자동으로 제품환경에 배포한다. 현업에서는 CI/CD 파이프라인을 이용해 테스트, 빌드, 배포 등을 자동화 하며, Jenkins, GitLab CI, CircleCI 등의 도구를 사용한다. Github actions github actions 는 github 에서 제공하는 CI/CD 도구로, 소프트웨어 개발 워크플로우 자동화에 사용된다. commit, push, pull request 와 같은 github 이벤트에 응답하여 빌드,.. Dev./Github Actions 2023. 8. 17. [Cloud]배포 AWS: Secrets Manager NCP 에서는 지원하지 않는 기능! AWS 에서는 시크릿 키를 관리할 수 있는 기능을 제공해준다. 사용자의 이름, 암호 주소, 데이터베이스 이름, 포트 등을 설정하게 끔 되어 있는데 이 부분에는 사용하는 DB 에 대한 정보를 넣어준다. Region : ap-northeast-2 ← 아시아 / 서울 생성후 python3 로 바꿔서 샘플코드 복사 붙여넣기 common → aws.py # Use this code snippet in your app. # If you need more information about configurations # or implementing the sample code, visit the AWS docs: # import boto3 from botocore.exceptions .. Dev./Cloud 2023. 8. 17. Django : DRF 적용하기3 - Spectacular API 로 개발하는데 프론트 역할을 대신해줄 수 있는 기능이 담겨 있는 라이브러리를 사용하여 쉽게 기능동작을 확인할 수 있다. install pip install drf-spectacular pip freeze | grep drf-spectacular >> requirements.txt settings.py third party app 추가 ## Third party Apps INSTALLED_APPS += [ 'rest_framework', 'drf_spectacular', ] REST_FRAMEWORK 추가 REST_FRAMEWORK = { ... # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access.. Dev./Django & DRF 2023. 8. 16. Django : DRF 적용하기2 Forumapp DRF DRF 의 핵심은 serializing 을 아주 간단하게 하는 라이브러리들을 쓸 수 있다는 점이다. 모델을 정의해서 models.Models 로 상속 받아서 사용 rest_framework 를 설치해서 serializers 에 적용 serializer.ModelSerializer 를 상속받아 ModelSerializer 생성 view 에서 해당 시리얼라이저를 사용하여 클래스를 만들고 ModelViewSet 을 상속 마지막으로 urls 에 router 로 연결해줌 model 설정 → models.Model 상속 serializer 설정 → request 와 response 를 프레임 워크로 바로 바로 JSON 형식으로 바꿔서 보내고 받을 수 있게 해주는 설정 views 설정 → re.. Dev./Django & DRF 2023. 8. 16. [Cloud] 배포 - NCP : 클라우드 서버에서 DB 띄우기: NoSQL 데이터 베이스를 띄우기 위해 열었던 서버에 MongoDB 를 띄워서 연결하기 Mongo DB 설치 ACG 설정 DRF → Serializer 설정 환경변수 조정 db 서버에 접속해서 mongoDB 이미지를 다운받고 띄우기 docker pull mongo docker run --name mongo -d -p 27017:27017 -v mongo_data:/data/db mongo:latest 이후 서버의 ACG 설정에 해당 포트 정보를 입력해준다. 그 다음 서버 코드로 넘어가서 IP 주소를 연결하는 부분을 수정한다. 현재프로젝트에서는 serializers.py 에서 사용하고 있었으니 이 부분을 수정해 준다. # serializers.py import os from rest_framework import s.. Dev./Cloud 2023. 8. 15. Django : DRF 적용하기 설치 후 requirements 에 삽입 pip install djangorestframework pip freeze | grep djangorestframework >> requirements.txt # requirements.txt Django==4.2.3 gunicorn==21.2.0 psycopg2-binary==2.9.7 pymongo==4.4.1 djangorestframework==3.14.0 settings.py ## Third party Apps INSTALLED_APPS += [ 'rest_framework', ] project - urls.py urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include(blog_url.. Dev./Django & DRF 2023. 8. 15. Django : DRF - quick start set up environment mkdir tutorial cd tutorial python3 -m venv venv source venv/bin/activate install frameworks pip install django pip install djangorestframework create project and app django-admin startproejct tutorial cd tutorial django-admin startapp quickstart # also, the below can be used to start an app python3 manage.py startapp quickstart migrate python3 manage.py migrate create super us.. Dev./Django & DRF 2023. 8. 15. [Cloud] 배포 - NCP : 로컬 서버에서 DB 띄우기: NoSQL NoSQL NoSQL 중 하나인 MongoDB 를 이용하여 DB 를 구성해보자. 새로운 blog 앱을 생성한다. python3 manage.py startapp blog pip install pymongo pip freeze | grep pymongo >> requirements.txt views.py from pymongo import MongoClient client = MongoClient() db = client.likelion def create_blog() -> bool: blog = { "title" : "My first blog", "content" : "This is my first blog", "author" : "lion", } try: db.blogs.insert_one(blog) .. Dev./Cloud 2023. 8. 14. 이전 1 ··· 3 4 5 6 7 8 9 10 다음 728x90 반응형