ci/cd 13

[CI/CD] Github 레포지토리에 올라간 코드에서 한글이 깨져 나올 때 (yaml 파일)

Github 레포지토리에 올라간 코드에서 한글이 깨져 나올 때 (yaml 파일) 한 번씩 찾아오는 Github의 뒤통수🤛🏻 이번엔 Github 레포지토리 코드를 몇 개 보던 중 한글이 깨져서 올라간 게 있었다! 따른 java 코드들은 여태 문제없었는데 yaml 코드의 한글이 깨진 걸 발견 찾아보니 그래도 이번엔 로컬 폴더만 수정하여 해결할 수 있다. 먼저 프로젝트 폴더 안의 .git 폴더로 이동 → config 파일 열어서 아래의 코드를 추가해준다! [i18n] commitEncoding = utf-8 logOutputEncoding = utf-8 이렇게 코드 추가하고 저장하면 끝! 다시 다른 yaml 파일에 한글 적고 add-commit-push 해서 확인해보자 깨지지 않고 잘 올라갔다! 이번엔 그래도..

[CI/CD] Github commit 메시지 수정하고 싶을 때

git commit --amend -m “변경할 커밋 메시지” 깃허브 리드미에 진심인 나는 커밋 메시지에도 진심… 프로젝트를 할 땐 Commit message 형식에 맞춰 쓰려고 하고, 수업을 들을 땐 배운 내용을 커밋 메시지에 잘 담아 쓰려고 한다! 하지만 커밋 메시지 잘 써졌나 볼까~ 하고 git log를 쳤는데.. 영어 스펠링이 딱 틀려버린 것… 이런 거 굉장히 신경 쓰이는 사람으로서 커밋 메시지 수정을 찾아보기 시작했다. 결론: reset 쓰지 마세요 구글링했더니 revert를 하라고 해서 revert를 하려고 했지만, 수정이 되지 않는 거다.. 그래서 또 찾아봤더니 reset으로 한 글을 발견!! 하지만 reset은 커밋 수정이 아닌 취소.. 나는 취소가 단지 add 상태로 돌려놓는 줄 알았더니..

[CI/CD] github pages 배포 방법 (React-Typescript 프로젝트)

Github Pages 배포 (React-Typescript 프로젝트 배포) 배포 전 설정 cmd 창에서 프로젝트 폴더로 이동 후 npm i gh-pages -D package.json 파일의 “scripts” 블록 안에 "build” 바로 아래에 "deploy": "gh-pages -d dist" 추가 package.json "scripts": { "dev": "vite", "build": "tsc && vite build", "deploy": "gh-pages -d dist", // 추가! 배포 vite.config.ts 파일의 plugins: 바로 아래에 base: '/깃레포지토리이름/', 추가 vite.config.ts export default defineConfig({ plugins: [rea..

[CI/CD] 수정/삭제 된 파일이 github 원격 레포지토리에 올라가지 않을 때 (git add -u)

git add -u add - commit - push를 하던 중.. push fail이 자꾸 뜨길래 git pull 도 해보고 git pull 뒤에 명령어 길게도 해봤는데 안되서 결국 git push origin +master 로 강제 push 행.. 하지만! 분명 push를 했는데 status를 확인해보니 working tree clean은 뜨지 않고 deleted: 로 이미 삭제된 파일이 떴다. 구글링 해보니 나처럼 로컬에서 삭제하고 add - commit - push 해도 원격 레포지토리에 반영이 안되는 경우가 있다고 한다. 이럴때 git add -u 로 add 해주면 수정되거나 삭제된 파일도 반영해준다고 한다! git add -u 로 add 하고 commit 후 push까지 해주니 원격 레포지토..

[CI/CD] AWS S3 버킷 생성, AWS IAM 사용자 및 액세스 키 생성

AWS S3 버킷 생성 AWS S3 버킷 생성 이유 데이터베이스에 이미지를 저장할 때 이미지는 S3에 저장하고 url만 DB에 저장하여 조회되도록 하기위해 S3 버킷을 생성했다. AWS S3 버킷 생성 S3- 버킷 만들기 일반 구성 AWS 리전: 아시아 태평양(서울) ap-northeast-2 버킷 이름: 버킷 이름 객체 소유권 ACL 활성화됨 클릭 버킷 소유자 선호 이 버킷의 퍼블릭 액세스 차단 설정 모든 퍼블릭 액세스 차단 해제 버킷 버전 관리 비활성화 버킷 만들기 AWS IAM 사용자 생성(AmazonS3FullAccess) IAM- 사용자 생성 사용자 이름- 다음 권한 옵션 직접 정책 연결 권한 정책 정책 이름: AmazonS3FullAccess 사용자 생성 AWS IAM 액세스 키 생성 IAM-..

[CI/CD] Github Action을 사용한 자동 배포 구축(CD), Github Secrets 생성, Github Action 스크립트 작성

Github Secrets 생성 Github- Settings- Secrets and variables New repository secret에서 IAM 권한 액세스 키 저장 AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY APPLICATION_YML Github Action 스크립트 사용 예시 aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} Github Action 스크립트 작성 Beanstalk Deploy 스크립트 레퍼런스 https://github.com/marketplace/actions/beanstalk-deploy 예시 deploy.ym..

[CI/CD] AWS Elastic Beanstalk 애플리케이션 생성, 수동 배포 방법, AWS IAM 사용자 생성

AWS Elastic Beanstalk 애플리케이션 생성 AWS Elastic Beanstalk- 애플리케이션 생성 환경티어: 웹 서버 환경 애플리케이션 이름: (애플리케이션 이름) 환경이름: (환경이름 ex)애플리케이션 이름-env) 도메인: (애플리케이션 이름) 플랫폼 플랫폼 유형: 관리형 플랫폼 플랫폼: Docker 플랫폼 브랜치: Docker running on 64bit Amazon Linux 2 플랫폼 버전: 3.6.4 (Recommended) 애플리케이션 코드 코드 업로드 선택 버전 레이블: 1 로컬 파일: 파일 선택 후 업로드 Dockerfile, DockerComposeFile, Jar 이렇게 3가지의 압축 파일 압축 프로젝트 전체를 압축해도 되지만, 용량 때문에 위의 3가지 파일만 압축..

[CI/CD] Jar 파일 생성 및 실행, Jar 파일 도커 컨테이너 실행, 도커 컴포즈 컨테이너 실행까지

Jar 파일 생성 실행 application.yml 추가 spring: # jar 파일 만들때 템플릿 경로 지정 thymeleaf: prefix: classpath:/templates/ suffix: .html build.gradle 추가 // jar 파일 만들 때 여러 번 실행하니 중복되어서 코드 추가 bootJar { duplicatesStrategy = 'exclude' } Gradle에서 build-bootJar 더블 클릭하면 Jar 파일 생성 완료 생성된 Jar 파일 Run하고 애플리케이션 확인 만약 jar 삭제하고 다시 생성하고 싶을 땐 터미널에 “.\gradlew clean” 입력 후 재 생성 하기! 주의할 점 jar 파일 실행 에러(templates을 못 찾을 때) controller와 h..

[CI/CD] Docker Compose란

Docker Compose Docker Compose 도커 컴포즈란 단일 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의해서 컨테이너 묶음으로 관리할 수 있는 작업 환경을 제공하는 도구 예로 웹 컨테이너와 데이터베이스 컨테이너와 레디스 컨테이너를 생성해야 할 때 하나의 서비스로 묶어서 사용 Docker Compose 사용 Dockerfile을 작성한다. docker-compose.yml을 작성한다. (각각 독립된 컨테이너의 실행 정의) docker-compose up 명령어를 실행하여 docker-compose.yml 파일로 정의된 컨테이너 개시

[CI/CD] Docker, Dockerfile, Docker Image, Docker Container란

Docker Docker 리눅스 컨테이너를 생성 및 실행을 위한 컨테이너 기술 컨테이너란 애플리케이션 소스 코드와 이 코드를 임의의 환경에서 실행하는 데 필요한 운영체제 라이브러리 및 종속 항목을 조합한 것 애플리케이션을 클라우드 배포할 때 사용 Jar 파일, 도커 파일로 배포 Dockerfile 도커 이미지를 생성하기 위한 스크립트 파일 여러 명령어로 도커 파일을 작성한 후 build하면 도커가 해당 명령어를 수행하여 도커 이미지를 생성해준다. docker build 명령어 실행하면 도커 이미지 생성 Docker Image 도커 컨테이너 생성할 때 필요한 요소, 필요한 파일과 설정값을 포함하고 있다. 도커 허브에서 도커 이미지를 등록하고 내려받을 수 있는 환경을 제공한다. (재사용 및 공유 가능) 도커..