개발 도구 & 환경 5

[Linux-Tool] 입문자를 위한 기본 명령어

들어가며리눅스(Linux)는 오늘날 없어서는 안 될 운영체제가 되었습니다.특히 백엔드 개발자를 목표로 하고 있다면 반드시 만날 수밖에 없는 운영체제입니다.이 리눅스를 사용하는데 꼭 필요한 기본 명령어에 대해 알아보겠습니다. 리눅스란?리눅스는 무료이자 오픈 소프트웨어인 운영체제입니다. Linus Torvalds라는 전설적인 개발자가 대학교를 다니며 만든 운영체제로 현재 안 쓰이는 곳이 없을 정도로 매우 대중적인 운영체제로 발전했습니다. 파일 및 디렉토리 관련 자주 쓰이는 명령어들(1) lsls 명령어는 보통 현재 접속한 디렉토리에서의 파일 또는 폴더들을 확인하기 위해서 사용합니다.ls {옵션}// {}는 없어도 된다는 의미아무런 옵션을 뒤에 붙이지 않고 ls를 입력하면 현재 디렉토리의 정보를 간략히 표시합..

[CI/CD]Jenkins에서 Github Action으로.. (With GCP, Docker) - WABI회고록

들어가기 앞서...pknu-wap/WABI-BE: 와비 : 부경대학교 소속 및 학생 회비 납부자 확인 서비스 BE (github.com) "WABI" 라는 학생회비 납부 서비스에 백엔드로 참가하면서 CI/CD를 맡게 되었다. [CI/CD]Jenkins를 이용해서 스프링 프로젝트 배포할 때 중요한 점 (With Docker, GCP) - WABI 회고록이전 회고에선 Jenkins를 사용하여 스프링 프로젝트를 배포하는 과정을 거쳤다. 그 당시 Jenkins를 사용한 이유는 다음과 같았다.1. 널리 사용되고 있다.2. 높은 확장성을 가지고 있다. 합리적인 판단이라고 생각했고 Jenkins를 사용하기로 결정하였다. 그런데 막상 사용하고보니 Jenkins는 와비 서비스와 맞지 않았다..먼저, 인스턴스의 리소스를 ..

[CI/CD]Jenkins를 이용해서 스프링 프로젝트 배포할 때 중요한 점 (With Docker, GCP) - WABI 회고록

들어가기 앞서...pknu-wap/WABI-BE: 와비 : 부경대학교 소속 및 학생 회비 납부자 확인 서비스 BE (github.com) "WABI" 라는 학생회비 납부 서비스에 백엔드로 참가하면서 전적으로 CI/CD를 맡게 되었다. CI는 Git을 통해 어느 정도 경험이 있었지만 CD는 진짜 문외한이었다. 이 글은 WABI 를 참가하면서 오랫동안 삽질한 결과물이자 Jenkins를 이용해서 스프링 프로젝트를 배포할 때 놓치기 쉬운 점을 작성해 보았다. 즉, Jenkins 및 Docker에 대한 이야기이다. WABI 에서의 나의 첫 번째 목표1. 스프링 프로젝트 지속적인 통합과 배포까지의 자동화(CI/CD)2. 웹 서버와 DB 서버 분리3. https과 DNS 연결 크게 3가지였는데 모두 한 번도 안 해본..

[AWS] EC2 인스턴스 재시작 후에도 IP 주소 고정하기(탄력적 IP 주소 할당)

프로젝트를 진행하다 보면 인스턴스를 재시작해야 하는 경우가 생긴다. 이때, AWS에서 인스턴스에 유동적으로 Public IP를 부여하기 때문에 재시작할 때마다 Public IP가 달라진다.. 이거 때문에 분명 제대로 했는데 왜 안되는거지라고 생각하며 헛된 시간을 보낸 경험이 있다 ㅜㅜ.. 이런 불상사가 나지 않기를 위해선 고정 Public IP를 할당받아야 한다. 먼저!! 탄력적 주소(Elastic IP)는 요금제가 존재한다!무료로 사용하는 방법이 있다. 하지만 경우에 따라 요금이 청구될 수도 있으니 미리 숙지하도록 합시다. 참고)논리적으로 격리된 가상 네트워크 - Amazon VPC 요금 - Amazon Web Services 1. 인스턴스 하나에 탄력적 주소 하나는 공짜2. 인스턴스 하나에 여러 개의..

[CI/CD] CI/CD에 관하여

CI/CD 중요성IT 기술이 발전함에 따라 프로그램의 규모는 점점 더 커지고 있습니다. 그에 따라 사람 혼자 프로그램을 개발하는 것이 불가능이라고 말할 수 있을 정도로 클라이언트가 요구하는 프로그램의 규모는 나날이 복잡해지고 있습니다. 이 때문에 개발자들은 협업을 진행합니다.하지만 이런 생각을 해보신 적 있으신가요?어느 한 회사에 100명의 넘는 개발자들이 있다고 해보겠습니다.그러면 그 100명은 각각 자신들이 맡은 기능을 개발하겠죠.당연히도 최종적으로 100개의 결과물이 나올 겁니다.이 결과물들을 어떻게 합치고, 테스트를 하며, 빌드를 진행할까요?  위와 같이 개발자 수가 많은 회사들은 이 100개의 개발 결과물 관리에 큰 어려움을 겪을 겁니다.결과물 관리를 편하게 하고 시간을 단축할 수 있도록 도와주..