전체 글 123

Docker를 통한 CI/CD (2) - Github Action 이해

이 글에서는 Github Action에 대해서 이해해보고 cloudtype 플랫폼을 사용해 cd까지 연결해보는 글입니다. Github Actions Github Actions는 깃허브에 내장된 CI/CD 도구라고 이해하면 됩니다. Jenkins, Travis CI 등의 도구가 비슷하다고 할 수 있을 것 같습니다. 깃허브 내장이다보니 깃허븐와의 통합이 쉽고, CI/CD 서버가 내장되어 CI/CD 서버를 따로 구축할 필요 없다는 점이 장점입니다. 또한, 일정 스펙까지는 무료이기 때문에 공부하기에도 좋습니다. 무료 버전은 스토리지 500MB, 월 2000분이 무료입니다. Github Actions를 동작시키려면은 repository의 `.github/workflows` 디렉토리에 필요한 Actions 파일들을..

카테고리 없음 2024.01.31

Docker를 통한 CI/CD (1) - Docker 이해와 설치 및 사용법

CI(Continuous Integration), CD(Continuous Delivery / Continuous Deployment) 기존의 서비스를 배포하는 과정에서는 n개의 서버가 클러스터가 되어있다면 "손배포"를 통해 상당한 시간 등의 리소스를 소모했었다. 하지만, Docker는 모두 같은 환경에서 테스트 및 배포 테스트를 할 수 있게 만들어 주었고, 이 과정을 자동화하기 까지 해주었기에 개발자의 시간을 많이 줄여줄 수 있게 되었다. Docker : Container 관리 가능 Container Ochestration 기술 발달 -> Kubernetes 기술 발전. Docker의 장점 애플리케이션 개발과 배포 편의성 Docker Container의 변경이 host OS에는 영향이 없음. CI/CD..

Infra/CI&CD 2024.01.30

[백오피스 프로젝트 회고] 토비로 - 숙박 예약 서비스

토비로 토요일을 비롯한 로맨틱한 여행 여행을 좋아하는 세 명이 모인 이유로 시작되었으며 내일배움캠프가 끝나면 여행을 가고 싶어 시작하게 되었습니다.😀 S.A. 노션 링크 https://moveuk.notion.site/B-1-f5bbf3829b014418ba7d7275ddb2b2b8?pvs=4 B - 1 : 토비로 | Notion ❤ 팀 소개 moveuk.notion.site ⚙️ Backend 개발환경 🤝 협업 툴 언어 : Kotlin 1.9.20 - Java version 17 프레임워크 : SpringBoot 3.2.0 빌드 툴 : gradle-8.5 데이터베이스 : Supabase 배포 서버 서비스 : Amazon EC2 - Ubuntu 22 형상 관리 : git IDE : IntelliJ IDE..

[백오피스] KPT 회고

백오피스 프로젝트 주차 KPT 회고 일시: 2024-01-29 (월) 16시15분~17시 (45m) 참석자: 3명 (이동욱, 김찬모, 박규희) 내용: KPT 회고 🙌 성과 @chanmo231121 — 김찬모 git 사용법을 추가적으로 더 배웠다 (git issue, pull request 등) 문서작성으로 인해 팀 협업이 한 층 더 좋아졌다 포스트맨 사용법에 대해 알게 되었고 스웨거와 비교할수있게 되었다 CHATGPT 사용하여 몰랐던 코드나 효과적용이 안되는 코드를 찾아봐서 실행시키기 @moveuk — 이동욱 끊임없는 소통과 노력이 팀원 모두가 개발에 집중할 수 있도록 잘 도왔던 것 같다. 팀 협업에 대한 기틀을 잡기 위해 많은 툴과 문서 작성법을 잘 공유했던 것 같다. @qordpsem — 박규희 CR..

회고 2024.01.29

20240122 log

주말동안 읽고 보고 느낀 것에 대한 간단 정리. 1. 문서화하자! 모든 개발자는 문서 작성을 싫어한다. 문서 작성을 좋아하는 개발자가 몇이나 되겠는가? 들었던 것 중에 인상이 남아 정리해본다. https://www.youtube.com/watch?v=lBxXKJyAJ28 1. 코드 자체의 문서화 코드를 기본적으로 잘 작성하면 문서화 할 필요가 없다. 다만 아무리 잘 짜더라도 문서화가 필요한 경우가 있다. 예를들어 더 나은 효율을 위해 복잡하게 가독성을 포기해야한다던가, 알아야하는 도메인 정보가 있다던가 등등이 있다. 기본적으로 코드를 잘 작성해서 문서화 할 필요 없게 만드는게 정석이며 문서화가 필요하다면 본인이 코드를 잘 못짜는 것은 아닌지 의심해보자. 2. 프로세스 문서화 3:25 회사 절차에 대한 문..

회고 2024.01.22

[MAC/Linux OS] port kill - lsof 정리

증상 맥을 통해 개발하면서 port가 오류로 살아있던 적이 없었는데 처음으로 마주하여 application을 종료해야할 일이 생겼다. 구글링해서 간단히 해결 lsof 정리 lsof 는 list open files 의약자로 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류 등 상세한 정보를 출력해 준다. 리눅스와 유닉스는 추상화된 파일 시스템(VFS - Virtual File System)을 사용하므로 일반 파일, 디렉터리, 네트워크 소켓, 라이브러리, 심볼릭 링크 등도 모두 파일로 처리되며 lsof 에서 상세한 정보를 확인할 수 있다. 유닉스마다 고유의 lsof 와 비슷한 용도의 명령어가 있지만 명령어와 옵션이 제각각이고 출력 정보가 상이하여 OS 가 바뀌면 사용하기가..

Infra 2024.01.17

뉴스피드 프로젝트 - 개인 회고 : KPT

한 주 동안 진행했던 짧은 프로젝트에 대해 개인 회고를 정리해본다. KPT - 회고 KEEP 지난주 미리 준비해 두었던 '협업을 위한 지침서' 라는 글을 이용해 조원들과 의논해야하는 컨벤션 이야기와 정보를 쉽게 공유할 수 있었고 시간을 협업 준비를 위한 시간을 많이 줄일 수 있었던 것 같다. 완벽한 글은 아니었지만 처음 프로젝트를 하신 분들에게 빠르게 전달하고 싶었고 이해를 높이려면 사전에 문서를 작성하여 공유하는 것이 중요하다고 생각했었다. 다음 프로젝트에도 개선해서 사용하는 것이 좋을 것 같다. 커밋 메세지 컨벤션을 통해 첫 프로젝트 임에도 나름 성공적인 깔끔한 커밋 메세지를 확보할 수 있었던 것 같다. 이슈를 사용하는 것 또한 적극적으로 진행했고, 팀원 모두가 익숙해진 것 같았다. 나 나름대로 팀원..

회고 2024.01.16

[TroubleShooting] Amazon SES 기능 구현 중 생긴 에러들..

TroubleShooting 문제가 많이 생기다 보니 간략하게 정리한다. 발생한 문제 - NoSuchMethodError 처음 sdk를 물리자 okhttp3 관련 이슈가 터졌음. 해결한 방법 http3 버전 업그레이드로 해결 하지만 이 해결법이 완벽한 문제 해결은 아닌 것 같다. AWS SDK가 okhttp 최신 버전을 사용하기 때문에 일어나는 이슈라고 적힌 글을 읽고 해결했다. https://github.com/awslabs/aws-sdk-kotlin/issues/765#issuecomment-1533260057 S3: putObject throws NoSuchMethodError exception · Issue #765 · awslabs/aws-sdk-kotlin Describe the bug Sim..

Troubleshooting 2024.01.15

Amazon SES 사용하여 메일 보내기 (3) - 이메일 인증 기능 with Spring & AWS SDK for Kotlin

Amazon SES를 통해 메일보내기 시리즈 Amazon SES 사용하여 메일 보내기 (1) - SES란? Amazon SES 사용하여 메일 보내기 (2) - 아마존 SES 설정 Amazon SES 사용하여 메일 보내기 (3) - 이메일 인증 기능 with Spring & AWS SDK for Kotlin - 현재글 이 글에서는 이메일 인증 설정을 아~~~~~~~~주 간단하게 구현해볼 것이다. 사실 가능하다면 이 글보다 더 잘 쓰여진 글, 공식 문서가 존재하기 때문에 그것을 보는 것이 더 도움이 될 것이라 확신한다. 아래처럼 언어별로 설명서와 코드 예제가 있으므로 확인해보면 좋을 것 같다. 이메일 인증 기능 개발 시작 저는 SDK를 사용할 것이기 때문에 gradle.build.kts에 다음과 같이 의존성..

Infra/Cloud 2024.01.15

[AWS] IAM - Access Key 발급 받기

처음 AWS 프리티어를 만들고 SDK를 통해 AWS를 사용하려면 인증을 위해 Access Key가 필요하다. 이 글에서는 그 방법을 정리해보고자 한다. 먼저 IAM이란? IAM(AWS Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스다. 우리는 IAM을 사용하여 리소스를 사용할 수 있도록 제어할 수 있다. 팀에서의 보안 주체가 팀 인원들에 대해 인증(Authentication)과 권한부여(Authorization)을 받아 리소스에 대한 요청을 승인하는 것이 IAM의 주요 동작 방식이다. AWS 계정을 처음 생성하는 경우에는 전체 AWS 서비스 및 계정 리소스에 대해 완전한 액세스 권한을 지닌 단일 로그인 자격 증명으로 시작한다...

Infra/Cloud 2024.01.14