
Jenkins&Sonaqube&Checkstyle 을 이용한 코드컨벤션 적용기(Naver Code Convention)
2022. 11. 3. 01:50
DailyStudy/CI CD
필자의 경우 Jenkins를 이용한 CI/CD를 진행하며 코드 분석 툴로 Jacoco&Sonarqube를 사용하고 있는 상황이며, 더 나은 코드 품질을 위해 Sonarqube의 Rules 설정을 통한 코드컨벤션을 적용하려 합니다. 코드 컨벤션이란 읽기 쉽고, 구조적으로 파악하기 쉬운 코드를 작성하기 위한 코딩스타일 규약이다. 즉, 다른 개발자가 자신이 작성하지 않은 코드를 보더라도 빠르고 쉽게 이해할 수 있도록 가독성을 높여준다. 이로인해 유지보수의 비용을 줄일 수 있다! 먼저 필자가 겪은 상황에 대해 먼저 설명드리도록 하겠습니다. 필자의 경우 코드 컨벤션으로 Naver 코드컨벤션을 적용시켜 보려 하였고 다음 Github 링크를 통해 코드컨벤션 룰이 담긴 xml 파일들을 다운받아 주었습니다. 그 후 소나..

Jenkins & Slack 연동하기(Slack Notification) 및 파이프라인 작성
2022. 10. 27. 06:28
DailyStudy/CI CD
Jenkins & Slack Notification 연동 Slack에서 Jenkins CI 앱을 추가해주면 다음과 같은 웹 사이트로 이동이 되며 설정 지침에 따라 Jenkins 설정을 진행해 주도록 합시다. =) 먼저 Jenkins Server로 들어와 Slack Notification 플러그인을 설치하시고 Slack 연동을 위한 Credential을 등록해주도록 하겠습니다. Kind : Secret text Secret : Slack 웹 사이트에서 발급된 token ID : Jenkins Pipeline에서 환경변수 값으로 받을 이름을 지정해줌 Description : 해당 credential에 대한 부가적인 설명 Workspace : 3단계에 명시되어 있는 팀 하위도메인 이름 Credential : ..

Nginx 란?
2022. 10. 25. 23:56
DailyStudy/Nginx
Nginx 란 무엇일까? Nginx 란? Nginx는 경량의 고성능 웹 서버(Web Server) 입니다. Nginx는 높은 트래픽 처리를 위해 개발되었다고 합니다. =) 좀 더 살펴보자면 과거에는 Apache 웹서버를 많이 사용하였지만 2000년대에 들어서며 컴퓨터의 보급량이 늘어났고 이용자도 늘어남에 따라 높은 트래픽을 감당 할 수 없었고 C10k 문제가 발생했다고 해요. C10k 문제란? C10k 문제는 동시에 많은 수의 클라이언트를 처리하도록 네트워크 소켓 을 최적화하는 문제라고 합니다. C10k 라는 이름은 10,000개의 연결을 동시에 처리하기 위한 숫자 입니다. 높은 트래픽을 동시에 처리하는 것과 초당 처리하는 속도가 높은 것은 다른 개념입니다. 동시에 처리하는 것은 빠르지 않아도 효율적으로..

도커(Docker) 설치 & 도커(Docker) 명령어 사용방법 총정리
2022. 10. 25. 02:01
DailyStudy/Docker
지난 글에 이어 도커의 명령어와 사용방법을 정리해볼까 합니다 =) 우선 도커를 사용하려면 설치를 해주어야 겠죠? 필자의 경우 AWS EC2 인스턴스로 Ubuntu 환경에서 Docker를 설치하였습니다. (Ubuntu 및 다른 환경에서 설치가 필요하신경우 아래 링크를 참고 해주세요! ) 필자의 경우 연습용으로 ubuntu환경에서 docker 설치를 sudo apt install docker Install Docker Engine on Ubuntu docs.docker.com 만약 Docker 구버전을 삭제 후 신버전을 설치하려 한다면 아래 명령어를 통해 구버전을 삭제해주도록 합니다. =) (Ubuntu 기준) sudo apt-get remove docker docker-engine docker.io con..

도커(Docker) 란? & Docker Container 그리고 가상화 방식의 종류
2022. 10. 24. 16:20
DailyStudy/Docker
도커(Docker)란 무었일까? Docker는 오픈 소스 컨테이너화 플랫폼 입니다. 이 컨테이너화를 통해 하나의 컴퓨터 환경에서 다른 컴퓨터 환경으로 빠르고 안정적이게 애플리케이션이 실행될 수 있도록 코드와 종속성을 패키징하는 소프트웨어의 표준 단위 입니다. 필자는 Docker하면 떠오르는 두 가지가 컨테이너와 이미지 인것 같아요 =) 여기서 이미지는 코드,런타임,시스템 도구, 시스템 라이브러리 및 설정과 같이 어플리케이션을 실행하는 데 필요한 모든 것을 포함하는 가벼운 독립 실행형 소프트웨어 패키지 입니다. 이렇게 말하면 어려울 수 있지만 쉽게 생각해보면 ubuntu 환경을 예시로 우리가 Jenkins를 다운받아 실행을 하려할 때 $ sudo apt-get install jenkins 를 하면 jenk..

Gitea Webhook Jenkins(Gitea 와 jenkins 연동하기)
2022. 10. 11. 05:32
DailyStudy/CI CD
최근 5일동안 Gitea와 Jenkins Webhook 연결 문제로 삽질을 엄청 많이 했습니다..... =( 혹여나 필자와 같은 상황에 있는 분들을 위해 정리를 해보고자 합니다. 만약 Gitea Jenkins Webhook 관련 연결 실패 때문이신 분들은 아래 기초적인 설정과정을 스킵하시고 맨 밑의 Trouble Shooting 부분으로 넘어가셔도 무방합니다 =) 우선 필자의 상황은 이렇습니다. 사설망에 구축된 Gitea 와 AWS EC2 서버에 구축된 Jenkins를 연결하는 것이였습니다. 이 Webhook 연결을 통해 Gitea에 만든 Repo의 main branch에 Push 또는 merge가 되었을 때 webhook 을 통해 Jenkins 서버에 알리고 Jenkins Pipeline이 trigge..

사설IP/공인IP? 사설망/공중망? VPN?
2022. 10. 5. 21:44
DailyStudy
사설망 공중망? 어디선가 들어는 보았지만 개념은 잘 몰랐기에 정리를 해보고자 합니다. 위 그림을 처음보면 잉? 하겠지만 글을 모두 읽고나면 아! 하면서 어느정도 이해를 하실 수 있을겁니다 . =) 우선 2011년으로 돌아가봅시다. 인터넷 주소 관리기구인 IANA(Internet Assigned Numbers Authority) 에서는 더 이상의 IPv4의 할당은 없을 것이라고 선언을 하였습니다. IPv4는 대략 43억개의 한정된 주소를 사용할 수 있는데 반해 인터넷의 수요가 빠르게 증가하여 각 대륙에 할당한 IPv4가 동이 나버린거죠. 더보기 IANA(Internet Assigned Numbers Authority)는 인터넷 할당 번호 관리기관의 약자로 IP 주소, 최상위 도메인 등을 관리하는 단체이다...

Jenkins를 이용한 CI/CD Pipeline 구축해보기(3)
2022. 10. 5. 03:51
DailyStudy/CI CD
해당 시리즈는 현재 필자가 연습하고자 하는 서비스 아키텍쳐와 맞지 않아 Springboot 와 Gradle 을 사용한 시리즈를 다시 작성하고 있습니다. 최신 시리즈를 확인하여주시고 이 시리즈는 끝마치지 못한 부분이 있어 설치 부분만 참고를 하시길 바랍니다. (최신 시리즈) Jenkins&Springboot CI/CD 정리(1) Jenkins&Springboot CI/CD 정리(1) 필자가 경험한 Springboot 프로젝트와 Jenkins CI 를 활용한 CI/CD 구축에 대해 정리를 해보고자 합니다. =) 이 시리즈에서는 이미 작성된 내용에 대해선 해당 글로 대체 할 예 0andwild.tistory.com 오늘은 Docker, Tomcat, Ansible, SonarQube 서버를 구축해보겠습니다. ..