일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- map
- mybatis
- 소켓
- Java
- ansible
- jdk
- Set
- Pipeline
- 방화벽
- Spring
- DevOps
- cloud
- 라우터
- sonarQube
- IntelliJ
- Jenkins
- 액세스회선
- gradle
- 캐시서버
- AOP
- 허브
- container
- Collection
- Linux
- docker
- JPA
- STREAM
- LAN어댑터
- post
- tomcat
- Today
- Total
목록CI&CD (54)
거북이-https://velog.io/@violet_evgadn 이전완료
Ansible Server에서 Remote Host 접근 가능 여부 확인 ansible all -m ping Ansible Server에서 /etc/ansible/hosts에 지정했던 모든 Remote Host에 접근 가능한지를 확인하는 과정이다. Remote Host에 Ping 신호를 보냄으로써 정상적으로 Return 신호가 올 경우 Ansible Server 측에서 성공적으로 Ansible Node 측에 접근할 수 있음을 확인 할 수 있다. Ansible을 통해 shell 명령어 수행 ansible all -m shell -a "[Shell 명령어]" 이 때 Shell 명령어를 Ansible Server 측에서 수행하는 것이 아닌 Ansible Server와 연결된 Ansible Node 측에서 Sh..
Ansible 명령어 ◎ Ansible Option -i(--inventory-file) Remote Host에 대한 정보(IP Address)를 담은 파일 -i 옵션이 설정되지 않을 경우 Default로 /etc/ansible/hosts 파일을 사용함 -m(--module-name) 원하는 모듈을 선택 모듈은 Ansible의 핵심으로 아래에서 자세히 설명하겠다 -k(--ask-pass) 관리자 암호 요청 -K(--ask-become-pass) 관리자 권한 상승 --list-hosts 접속할 Remote Host들의 IP Address들을 직접 입력 개인적으로는 -i Option이 깔끔하고 관리가 쉽기 때문에 활용을 추천하지는 않는다. ◎ 멱등성 Ansible Command의 가장 큰 특징은 멱등성을 가..
SSH Key ◎ SSH Key란? 원래 SSH를 통해 Server에 접속하는 과정에서 Username과 Password를 입력하는 것이 일반적이다. 하지만 이 경우 Server에 접속할 때마다 매번 Username과 password를 입력해야 하는 귀찮은 작업이 수행되어야 하며 Username과 Password를 분실할 위험성도 존재한다. 이러한 위험성을 해결하면서도 간편함을 챙길 수 있는 방법이 바로 SSH Key이다. SSH Key는 서버에 접속할 때 비밀번호 대신 미리 생성되어 있는 Key를 제출하는 방식이다. Username-Password 방식이 번호 도어락이라면 SSH Key 방식은 열쇠문이라고 할 수 있겠다. SSH Key는 비밀번호보다 높은 수준의 보안을 필요로 하는 상황이나 로그인 없이..
VM으로 Ansible 만들기 필자는 Docker Image를 활용해 Ansible-Server를 생성할 것이다. 하지만 이전에 SSH Server를 VM을 통해 만들 수 있었듯 Ansible Server도 VM 환경에서 생성할 수 있다. 간단히 Ansible Server 생성 방법에 대해 알아보고 넘어가자 ◎ Ansible 설치 yum install ansible Ansible Server 생성이 완료되었다! 너무 간단해서 허탈할지 모르겠으나 이는 Linux 상에서 Ansible Server를 만들었을 때 유효하다는 것을 알아두자. 이전 Section에서 말했듯 Ansible은 Python을 통해 Server와 Node 사이 통신이 수행되기 때문에 만약 Windows를 Ansible Server로 만들..
IaC ◎ 프로비저닝이란? IaC를 공부하기 이전 프로비저닝에 대해 알아볼 필요가 있다. Provisioning(프로비저닝)이란 사용자의 요구에 맞도록 시스템 자원을 할당, 배치, 배포해 두었다가 필요한 상황에 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. 더 쉽게 말하자면 Infra 자원, 서비스, 장비 등의 IT 자원을 사용자의 요구사항에 딱 맞도록 제공해주는 것을 말한다. 프로비저닝의 종류에는 5가지가 존재한다. Server Resource Provisioning CPU, Memory, IO 같은 실제 서버 자원을 할당 및 운영할 수 있게 제공 OP Provisioning OS를 서버에 설치하여 사용할 수 있게 제공해줌 Software Provisioning WAS, DBMS..
1. 3번째 프로젝트 Copy 해서 새 Item 생성 https://turtlewalk.tistory.com/91 Jenkins Maven Project와 Tomcat 연동 먼저 이전 Section에서 시행했던 Tomcat에 대한 설정을 모두 했다고 생각하고 과정을 진행하도록 하겠다. (당연히 Tomcat은 구동되고 있는 상태여야 한다) 1. Plugin Manager > 설치 가능에서 deploy to 검색 & turtlewalk.tistory.com 위 사이트에서 만든 Item을 복사하여 새로 만든다. 2. 설정 변경 빌드 유발 > Poll SCM 비활성화 확인 과정은 위 링크에서 수행했으므로 이제 비활성화시키자 빌드 후 조치 추가 > Deploy war/ear to a container 삭제 원래라..
우리는 이전에 Maven Project를 동작하고 있는 Local 컴퓨터의 Tomcat에 WAR 파일을 배포하여 웹 프로그램을 실행시켰다. 그런데 이때 귀찮은 점이 있었을 것이다. 무조건 Local 컴퓨터에서 Tomcat이 기동 되고 있어야 한다는 점! 이렇게 되면 Local 컴퓨터가 켜져 있고 Tomcat이 항상 동작되어야 하는데 만약 서비스를 24시간 제공하고 싶다면 Data Center가 필요해질 것이다. 하지만 MSA 및 CI/CD를 활용할 때는 Cloud를 활용함으로써 Data Center를 직접 운영하지 않고 끊임없는 서비스를 제공할 수 있다는 장점을 가진다. 따라서 우리는 Cloud를 통해 서버를 구성하고 동작하고 있는 Cloud 서버에 WAR 파일을 배포시킴으로써 24시간 서비스를 제공할 ..
DinD와 DooD를 공부하기 앞서... 이번 Section을 공부하기 앞서 알아야 할 것이 있는데 Docker는 Docker 위에서 Docker를 사용하는 것을 권장하지 않는다는 것이다. 이게 어떤 의미냐면 Docker Container 내부에 새로운 Container를 생성하여 Container 내에서 직접 Docker 명령어를 실행시키는 것을 추천하지 않는다는 것이다. docker의 Old Version에서는 docker client와 docker-engine이 확실하게 분리되어 있었다. 이는 Docker Server와 Docker Client가 확실하게 분리되어 있어 Client가 dockerd에 명령을 전달하는 방법을 고민하게 했으며, 이 과정에서 Container 내부에 Conatiner를 생..
Docker Server & Docker Client ◎ 개념으로 보는 Docker Client & Docker Server DinD와 DooD를 공부하기 앞서 Docker Architecture에 대해 알아볼 필요가 있다. Docker는 Docker Client와 Docker Server로 구성되어 있다. Docker Client 측에서 명령어를 입력받고 이를 REST API를 통해 Docker Server 측으로 보냄으로써 Docker Server 내부에 있는 Daemon이 명령어를 수행하는 구조를 가진다. 예를 들어 "docker ps"를 통해 실행되고 있는 Container List를 받아오고 싶다고 해보자. 그렇다면 우리는 Docker Client 측에 "docker ps"라는 명령어를 직접 입..
PollSCM이란? Build 자동화 방법에 앞서 PollSCM이라는 단어부터 알고 가자. PollSCM이란 Git Polling 작업을 주기적으로 수행할 수 있게 하는 방법을 의미한다. 그렇다면 Git Polling은 무엇일까? Git Pooling이란 일정 시간마다 Git 변경 사항을 확인하고 만약 지정한 Branch에 Push 상태가 발생했을 경우 Push 된 코드를 가지고 와 Build 시켜 재배포하는 것을 의미한다. 즉, Poll SCM을 통해 Git Branch에서 Push 과정이 발생했을 경우 일정 시간마다(Scheduling) 이를 확인하고 Push된 코드로 SW를 자동으로 빌드하여 재배포하도록 설정하는 것을 의미한다. Poll SCM은 cron job을 통해 Scheduling을 수행한다..