전체 글

전체 글

    Jenkins Webhook 연동

    📌 목표 Github의 Webhook을 구성하고 Jenkins와 연동 후에 Push Event 발생 시 자동으로 빌드가 진행되도록 해보자 ! ▪ Github Webhook 구성 Github Access Token 생성 Github Repository - Setting - Webhooks - Add Webhook Payload URL 젠킨스 URL + /github-webhook/ 외부에서 접근 가능한 도메인으로만 동작 가능 → ngrok 서비스 이용 e.g.) http://jenkins.com/github-webhook/ Content Type application/json ▪ Jenkins Credential 등록 및 관리 Jenkins - Manage Credentials Credential 등록 U..

    ArgoCD Helm 설치 & 테스트

    ▪︎ ArgoCD 설치 helm repo 받기 $ k create namespace argocd $ helm repo add argo argocd 설정 파일 받기 $ helm show values argo/argo-cd > argocd-values.yaml helm으로 argocd 설치 $ helm install argocd argo/argo-cd -n argocd 그런데 만들고 보니깐 service도 로드밸런서 타입으로 만들고 싶고.. 리소스도 조정하고 싶은데.. 다시 갈아 엎어보자..! 그리고 계속 argo-server pod이 CrashLoopBack 에러로 다운되는 것을 확인 $ helm uninstall argocd -n argocd These resources were kept due to t..

    Jenkins 환경 설정 및 빌드 테스트

    📌 목표 젠킨스를 설치했으니 필요한 환경설정 구성 및 빌드 테스트를 진행해보고자 한다 ! ⚡ Leggo 필요한 플러그인 설치 및 확인 Kubernetes, GitLab, Webhook.. 웬만한 사전 설정은 Helm 파일을 통해 미리 구성이 된 상태인 것 같아 딱히 만질 것은 보이지 않았다. 일단 하나는 기억하면 좋을 것이 있어 가져와 보았다. # of executors 동시에 배포 가능한 스레드 수를 의미하며 ‘0’은 동시에 여러 배포가 진행되지 않도록 하는 설정이다. 테스트 빌드 스크립트를 작성하여 빌드 잡을 만들어보자 Pipeline을 선택해준다. FreeStyle : Jenkins 자체 GUI를 활용해서 Flow 정의 장점 : 쉽게 접근 가능 단점 : 제한적인 커스터마이징 Pipeline : 코드..

    Jenkins Helm 설치

    📌 목표 Helm을 사용해서 Jenkins를 Kubernetes 클러스터 환경에 구축해보자 ! ⚡ Leggo Helm 설치 for Mac OS $ brew install helm helm repo 추가하기 $ helm repo add jenkins $ helm repo update jenkins 설정 파일인 values.yaml 받기 $ helm show values jenkins/jenkins > jenkins-values.yaml jenkins namespace 생성 후 jenkins chart 설치 # Helm 3 $ helm install [RELEASE_NAME] jenkins/jenkins [flags] $ kubectl create namespace jenkins $ helm install ..

    Vi vs. Vim

    ▪ Vi ? 💡 Vi (Visual Editor) : 유닉스(UNIX) 계열 운영체제의 오픈소스 문서 편집기 한 줄씩 편집하는 줄 단위 편집기(line editor)가 아닌 한 화면을 편집하는 비주얼 에디터(visual editor) 모드 일반 모드 위, 아래, 왼쪽, 오른쪽 → K, J, H, L 입력 모드 i (현재 커서 위치) a (현재 커서 한 칸 뒤) o (한 줄 추가 후) 위, 아래, 왼쪽, 오른쪽 → Alt + ( K, J, H, L ) 명령 모드 :w (파일 저장) :q (vi 종료 / :q! 강제 종료) :wq (저장 후 종료) ▪ Vi vs. Vim 💡 Vim (vi imitation) → Vim (vi improved) vi와 높은 호환성을 가지며 다양한 기능 + 플러그인 지원 다양한..

    리눅스 패키지 시스템

    ▪︎ 리눅스 패키지 💡 리눅스 패키지 (Linux Package) : 소프트웨어를 실행하는데 필요한 파일들이 담겨 있는 설치 파일 소스 패키지 (Source Package) . tgz (source code archives) 소스 코드가 들어있는 패키지 컴파일을 통해 바이너리 파일로 만들어야 실행 가능 장점 소스 코드 수정을 통해 소프트웨어 커스텀 가능 단점 컴파일 작업으로 인한 설치 소요 시간 증가 / 컴파일 과정에서 에러 발생 가능성 존재 바이너리 패키지 (Binary Package) *. deb (Debian) / *. rpm (Red Hat) 이미 성공적으로 컴파일이 끝나 응용 프로그램, 라이브러리 등이 들어있는 바이너리 파일 패키지 장점 이미 컴파일된 패키지이므로 설치 소요 시간 단축 / 에러 ..

    리눅스 배포판

    ▪ Linux ? ‘Linux is an operating system.’ 리눅스는 운영체제다. ‘In a GNU/Linux system, Linux is the kernel component.’ GNU/Linux 시스템에서 리눅스는 커널 구성 요소이다. 💡 GNU : 자유 소프트웨어 재단에서 진행하며 유지 중인 OS 프로젝트 리눅스가 무엇인지 찾아보면 다음과 같이 다르게 표현된 정의를 볼 수 있다. 여기서 무엇이 맞는 말일까? 솔직히 둘 다 맞는 말이다. 리눅스는 리눅스 커널을 의미하기도 하고 리눅스 커널을 사용하는 운영체제를 의미하기도 하기 때문이다. 리눅스가 두 가지의 의미를 가지게 된 계기는 리눅스가 탄생한 흥미진진한 역사를 보면 잘 이해가 되지만 이번 포스팅은 리눅스의 역사가 중점이 아니라서....

    init vs. systemd

    ▪ PID가 1인 프로세스 💡 init Process : PID가 1인 프로세스 리눅스 부팅 과정 시스템 전원 공급 BIOS (Basic Input / Output System) Boot Loader Kernel init 커널 부팅이 완료된 후 첫 번째로 생성한 프로세스 커널이 직접 실행하는 유일한 프로세스 부모 프로세스가 없음 PPID → 0 모든 프로세스는 init(PID : 1)을 부모 프로세스(PPID)로 가진다. 모든 프로세스의 조상님 모든 스레드는 kthreadd(PID : 2)를 부모 프로세스(PPID)로 가진다 모든 스레드의 조상님 ▪ systemd 란? init 프로세스의 한 종류 init 프로세스의 변천사 SysV init → systemd SysV init 직렬 처리 방식의 부팅 순서..

    프로세스와 스레드

    ▪ 프로세스 (Process) 💡 프로세스 (Process) : 운영체제(OS)에서 할당 받은 시스템 자원을 사용한 독립적인 작업 시스템 자원 CPU 시간 주소 공간 Code, Data, Stack, Heap 구조의 메모리 영역 각 프로세스는 다른 프로세스의 자원에 간섭이 불가능하다. 단, IPC(Inter Proceses Communication)를 통하여 서로 간에 통신 및 접근이 가능하다. 💡 IPC(Inter Proceses Communication) : 프로세스 간 통신 → e.g.) 파이프, 소켓, 파일 .. ▪ 스레드 (Thread) 💡 스레드 (Thread) : 프로세스 내부에서 프로세스 상의 공용의 자원을 사용하는 작업의 흐름 프로세스 자원 Code, Data, Heap - 공용 사용 S..

    리눅스 권한 체계

    ▪ 리눅스 권한 특정한 사용자에게 파일이나 디렉토리에 대하여 읽기 / 쓰기 / 실행을 수행할 수 있는 자격을 부여해주는 것 💡 리눅스 권한 : 허가권 + 소유권 ▪ 허가권 - 파일을 의미 r (read) [4] 파일을 읽을 수 있는 권한 d 디렉토리를 의미 w (write) [2] 파일을 읽을 수 있는 권한 x (execute) [1] 파일을 읽을 수 있는 권한 ▪︎ 문자로 권한 변경하기 u 사용자 + 권한 추가 g 그룹 - 권한 제거 o 다른 사용자 chmod u+x file 사용자에게 실행 권한 추가 chmod g-r file 그룹에게 읽기 권한 제거 chmod a+rwx file 모두에게 읽기, 쓰기, 실행 권한 추가 chmod ug-rx file 사용자와 그룹에게 읽기, 실행 권한 제거 ▪︎ 숫자..