Jenkins CI/CD 구축하기 2편 (with. Docker)
·
DevOps/CI-CD
1편에서 Jenkins를 구축하는 것까지 해보았으니, 2편에서는 본격적으로 Jenkins에서 'Item / Script / Plugin / Credential' 을 작성해보면서 CI/CD를 구축해보자. 1. Jenkins의 Item Jenkins에서 하나의 CI/CD 프로젝트를 구축하기 위해서는 Item을 생성해야 한다. Freestyle- GUI로 쉽게 작업을 설정할 수 있다.- 단일 빌드 작업에 많이 사용된다. Pipeline- 하나의 스크립트 파일(Jenkinsfile)을 통해 파이프라인을 코드로 정의할 수 있다. (버전 관리 가능)- 빌드, 테스트, 배포 등 여러 단계를 하나의 스크립트 파일로 쉽게 정의하여 작업에 대한 흐름을 파악하기 쉽다.- FreeStyle과 다르게 스크립트를 작성해야 하는..
Jenkins CI/CD 구축하기 1편 (with. Docker)
·
DevOps/CI-CD
인턴 활동 중 Jenkins CI/CD 파이프라인 구축 업무를 맡으면서, 얻은 인사이트를 기록으로 남기고자 포스트를 적게 되었습니다. 이전에 Github Actions을 활용하여 프로젝트의 CI/CD를 구축할 때, Jenkins 또한 고려사항에 있었지만 높은 학습 비용으로 인해 미룬 바가 있었습니다. 하지만 이번 테스크를 통해, 관심이 있던 Docker와 Jenkins를 깊게 학습할 수 있어 감사히 생각합니다.🙇🏻‍♂️ https://wch-0625.tistory.com/161 (Github Actions 활용기)  1. Jenkins란?우선 Jenkins는 코드의 변경 사항이 있을 때 자동으로 빌드하고 테스트하는 CI(지속적 통합), CI가 완료된 코드를 서버에 자동으로 배포하는 CD(지속적 배포)..
Github Actions CI/CD 프로젝트 적용기
·
DevOps/CI-CD
졸업 설계를 진행하면서 코드의 변경이 있을 때마다 aws 서버에서 변경된 코드에 대해 pull을 받고 배포해주는 과정이 반복되었다. 이러한 수고로움이 계속 되면서, 자동화 프로세스인 CI/CD에 관심이 갔고 공부하고 프로젝트에 적용하는 과정에서의 배움을 정리하였다.  1. CI/CD란?CI(Continuous Integration)지속적 통합, 자동으로 코드의 변경이 있을 때 메인 레포지토리에 통합하는 과정이다. 여기에서 중요한 점은 통합되기 전에자동화 된 build, test를 통해 문제가 없는 코드인지 확인하는 것이다.  CD(Continous Deployment)지속적 배포, 자동으로 CI가 완료된 코드를 서버에 배포하는 과정이다.   2. CI/CD를 지원하는 여러 tool들이 있는데 왜 Git..
SSH (Secure SHell) 이란?
·
DevOps/CI-CD
프로젝트에 CI/CD를 구축하는 과정에서 SSH와 관련된 개념이 부족하여, 며칠동안 꽤 애를 먹었다. 관련하여 여러 오류를 만나면서, 공부한 내용들을 정리하였다.- 비대칭키(공개키, 비밀키)를 이용한 SSH 통신의 동작 흐름- 클라이언트에서 신뢰할 수 있는 서버인지 확인하는 과정- Github Actions에서 원격 SSH 통신을 할 때 known_host를 등록하기 위한 코드 작성   1. 개념SSH(Secure SHell): 원격 호스트에 접속 및 원격 명령을 실행하기 위해 사용되는 보안 프로토콜 SSH를 사용하여 네트워크 상의 다른 컴퓨터에 원격 로그인하여 (ex. AWS EC2 원격 접속) 원격 시스템에서 명령을 실행하고,다른 시스템으로 파일을 복사 (ex. SCP 명령어) 할 수 있다.   2...