반응형

슬기로운 개발자생활/DevOps 8

[Docker] python 경량화 + 빌드속도 최적화 이미지 (+ selenium 설정 추가) 240906 문제 해결 추가

ㅁ 파일구조폴더구조는 이렇게 가져가는게 Docker로 배포하기 편한듯ㅁDockerfile3.9 버전 러버라 파이썬 쓸 떈 3.9 이미지를 주로 사용캐싱을 활용한 빌드속도 최적화셀레니움을 위한 크롬 설치 ### 20240906 수정 Stable 버전인 128.0.6613.119-1 크롬 설치 후 셀레니움 실행 시 disconnected: not connected to DevTools 에러 발생1. 윈도우에서 테스트해보니 에러메시지 [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다webdriver-manager가 THIRD_PARTY_NOTICES.chromedriver를 가져오는 것을 확인하여 수정해봄 -> 도커에서는 적용되지 않음.2. 결국 특정 버전의 크롬을 설치하는 방..

Prettier VSCODE에서 사용하기

Prettier는 코드 포매터로 저장 시 자동으로 코드를 깔끔하게 정리해주는 라이브러리이다. 이번에 프론트엔드 협업을 진행하면서 코드를 맞추기위해 Prettier를 사용해야했고, VScode에서 사용하는 법을 정리하려고 한다. prettier-vscode github Prettier (Code Formmater) doc 협업함에 있어 컨벤션을 정하는 것은 당연히 중요하지만 코드 가독성을 높이기 위해서 줄바꿈, 들여쓰기를 적절히 하는것도 중요하다. 본 글은 node로 생성한 프로젝트가 있다는 가정하에 진행한다. 순서 1. prettier 설치 2. prettier 설정 3. vscode 설정 1. prettier 설치 package.json이 들어가있는 Node 프로젝트라면 환경에 상관없이 사용가능 npm..

코딩 스타일 가이드

코딩 스타일 가이드는 2인 이상이라면 규모에 상관없이 정하고간다. 2인 팀의 소규모 프로젝트부터 기업과 같이 인원수가 많은 곳 어디든 스타일 가이드는 코드리뷰와 유지보수를 위해 중요하다. 주로 컨벤션이라고 함 스타일가이드 스타일 가이드의 기본적인 의미는 프로젝트를 시작할 때 최종 제품의 시각적 이미지 및 표현을 정의하고 디자인 및 개발 프로세스를 계획하는 데 사용하기 위한 것이다. 코딩 스타일 가이드는 코드의 표현을 정의하는 것이라고 볼 수 있다. 순서 1. 개발 언어 별 변수, 함수, 클래스 네이밍 규칙 2. git flow 3. IT 기업 스타일 가이드 4. 참고자료 1. 개발 언어 별 변수, 함수, 클래스 네이밍 규칙 파이썬 (Python) # variable snake_case = True # c..

Linux기반 OS (Ubuntu) 터미널 명령어 정리

기본적으로 Ubuntu나 Linux서버는 AWS에서 빌려서 사용하는 경우가 많고, 주된 사용 목적은 웹서버, crontab으로 돌리는 파이썬 프로그램이다. CLI (Command Line Interface) 명령어 인터페이스 = 터미널 순서 1. 경로 2. 파일 관리 3. vim editor 1. 경로 pwd : 현재 위치를 출력 cd : 경로 변경 ls : 현재 경로에 있는 파일, 경로목록 출력 ls -a : 숨김폴더까지 모두 출력 ls -l : 권한, 상세정보 출력 ls -al 2. 파일관리 mkdir : 폴더 생성 cp : 파일 복사 (잘 사용안하고 파이썬 파일로 코딩해서 씀) mv : 파일 이동 (마찬가지) rm : 삭제 (디렉토리 삭제 시 -r 옵션, -f 시 즉시 삭제) touch : 파일 생..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 3편 - 웹서버에 배포

Jenkins와 Github를 연동하여 푸시이벤트가 발생했을 시, Jenkins에서 빌드를 진행하는 것까지 설정을 해놓았으니, 이제 빌드 후에 일어날 작업들을 설정해두면 자동배포 설정이 끝난다.한 편 을 더 추가해야 할 것 같지만.. 2022년 마지막날에 끝내고 싶어서 다 합쳐버렸다. 뒤의 과정이 상당히 긺으로 천천히 따라오실 것을 추천..순서0.  전체 흐름1.  publish over ssh2.  react 빌드 후 파일 전송3.  Docker in Jenkins4.  spring 도커 빌드 후 도커 push5.  docker-compose로 백엔드 배포6.  Trouble Shotting nginx 설정0. 전체 흐름이번 프로젝트에서 구축한 CI/CD의 아키텍처1. publish over ssh다른..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 2편 - Jenkins Github 연동

저번 Jenkins 서버 설정까지 진행하고 나서, 본격적으로 배포를 위한 셋팅을 해야한다. 순서 0. 전체 흐름 1. github 토큰 생성 2. Jenkins에 github 토큰 등록 3. 자동배포를 진행할 레포 등록 4. Push Event Webhook 설정 5. Trouble Shotting 0. 전체 흐름 이번 프로젝트에서 구축한 CI/CD의 아키텍처 1. github 토큰 생성 깃허브에서 우측 상단 프로필을 눌러 Settings로 들어오고, 왼쪽 메뉴 하단에 있는 Developer settings에 들어온다. Personal access tokens에서 Tokens를 클릭하고 Generate new token을 클릭한다. 계정 단위 권한을 가진 것이 classic 이고, 레포단위로 권한을 줄 ..

Docker, Jenkins 활용 CI/CD 구축 (React, Kotlin+Spring) 1편 - Jenkins 서버 설정

SSAFY 프로젝트 진행 중 인프라를 구축하는것에 진심인 친구가 Jenkins, Docker를 활용해 자동배포 시스템을 구축한 것을 보고 CI/CD에 관심이 생겼다. CI/CD는 내용이 많기 때문에 3편 정도로 나누어서 진행할 예정이고, Jenkins pipeline를 활용하면 설정이 편해지지만, 각각의 구성요소를 확인해보기 위해 직접 한땀한땀 구현할 것이다. CI/CD Continuous Integration(CI) and Continuous Deployment(CD)를 통칭해 이르는 말로 지속적인 통합(소스코드 빌드/테스트 자동화)과 지속적인 배포(무중단 서비스 제공)을 의미한다. 순서 0. 전체 흐름 1. 준비사항 2. Docker, Jenkins 설치 3. Jenkins 설정 4. Trouble ..

Frontend, Backend 서버 AWS EC2로 배포하기 (+https 설정까지) nodejs, django

서비스 개발을 하면 필연적으로 배포작업을 거치게 된다. 주로 우리가 접속하는 웹페이지를 위한 Frontend (네이티브 앱을 개발했다면 앱 빌드), 데이터를 처리하고 비즈니스 로직을 수행하는 Backend, 그리고 필요에 따라 다양한 목적의 서버를 여러개 설치하는 경우도 있을것이다. 본 글에선 Frontend와 Backend를 하나의 서버에서 배포하는 방법을 다룬다. # 예제 프레임워크 : Node.js 기반 프론트엔드 프레임워크, Django 배포 사용자가 URL을 통해 내 서버에 접속하여 웹 서비스를 이용할 수 있도록 하는 것 순서 1. 환경 설정 2. Frontend 배포 3. Backend 배포 4. DNS (도메인 연결) 5. Https 설정 6. proxy_pass 설정 1. 환경 설정 EC2..

반응형