목록DevOps (20)
Dazzling 개발 노트
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/booHFj/btsCyKyVS6x/zpZDfxRTu2uJVS1DQHTChK/img.png)
Jenkins - GitHub - Docker 연동을 위해 필요한 AccessKey를 생성하고, Jenkins Credential에 등록한다. 총 4개의 AccessKey, 혹은 token을 발급하여 Jenkins Credential에 등록했다. 1. GitHub Access Token 2. Docker Access Token 3. Slack Access Token 4. ec2-ssh 시작하기 전에 먼저 강조하자면, 모든 토큰은 생성 후 다시 볼 수 없기 때문에 발급된 화면에서 바로 메모장이나 노션에 잘 저장하도록 한다. 1. GitHub Access Token 발급하기 GitHub 접속 후 프로필 아이콘 클릭 -> Settings > Developer settings > Personal access t..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/15BUA/btsCydaxp10/JHmAnKsbSvFpxA3y03vG4k/img.png)
Jenkins - GitHub - Docker 연동을 위해 필요한 플러그인을 설치한다. 사용된 플러그인은 다음과 같다. - Docker : docer 사용을 위해 설치 - Docker Pipeline : docker 사용을 위해 설치 - GitHub plugin : GitHub 사용을 위해 설치 - Generic Webhook Trigger Plugin (선택) : GitHub에서 특정 branch에서 push가 일어나는 경우에만 배포되도록 설정하기 위해 설치 - SSH Agent Plugin (선택) : CI/CD 중에 ssh 접속을 위해 설치 - Slack Notification Plugin (선택) : Slack으로 알림을 받기 위해 설치 선택을 제외한 나머지 플러그인은 최소한으로 반드시 설치해야 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Vx14w/btsCy7nkuS6/3KQ7ONg3muv3GNoJe9JItk/img.png)
CI/CD 구현하는 과정을 직접 해보며 정리했다. 각 과정마다 게시글을 나누어 작성했으니 만약 이해가 가지 않을땐 앞, 뒤 게시글을 참고하기 바란다. CI/CD를 구현하는 도구는 다양하지만, 필자는 Jenkins와 GitHub, Docker를 사용했다. Jenkins - GitHub - Docker(WAS-SpringBoot) 여기서 Jenkins는 서버에 바로 배포하고 WAS는 docker를 통해 컨테이너로 배포한다. 사용한 서비스와 기술은 다음과 같다. AWS Ec2 (2개) Jenkins GitHub Docker Slack SpringBoot Gradle Java 인스턴스 생성하기 AWS에 접속하여 로그인한다. EC2 > 인스턴스 > 인스턴스 시작 인스턴스의 이름 입력, OS 선택, 인스턴스 유형 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mwlMb/btsCzKZGZXD/oUPZ1KNbe6V7zN9Bi3qgQK/img.png)
CI/CD? CI/CD는 Continuous Integration/ Continuous Delivery(Deployment)의 약자이다. 소프트웨어의 변경 사항이 지속적으로 통합되고 동시에 배포함으로써 개발 주기를 단축하고 서비스의 품질을 향상시킨다. CI/CD는 크게 3단계로 나누어 진다. - 지속적인 통합 ( Continuous Integration ) - 지속적인 전달 ( Continuous Delivery ) - 지속적인 배포 ( Continuous Deployment ) Continuous Integration 지속적으로 코드의 통합을 진행하면서 코드의 품질을 유지한다. 이 과정에서 이루어지는 주된 작업은 빌드, 테스트, 병합이다. 빌드, 테스트, 병합을 자동화된 프로세스로 최대한 자주 통합한다..