SERVER 14

Jenkins 빌드 후 조치 call url

Jekins 빌드 결과에 따른 api 호출 방법을 작성했습니다. 실행시 자동 설정되는 환경변수 값을 이용했습니다. # 잡 실행 결과 조회 BUILD_STATUS=$(curl -k --user 유저명:키 --silent http://jenkinsserver:port/job/$JOB_NAME/$BUILD_NUMBER/api/json | jq -r '.result') # 잡 실행 결과 실패시 api호출 if [ $BUILD_STATUS != 'SUCCESS' ] then curl -X POST http://apiserver:8080/api/send/agit \ -H 'Content-Type: application/json' \ -d '{"type":"", "channel":"develop", "text":"#..

SERVER 2023.07.14

jenkins algorithm negotiation fail SSH

Jenkins 의 publish over ssh 플러그인 사용시 algorithm negotiation fail 에러 발생에 대해 대응 방법을 설명합니다. 최신 버전의 Jenkins 사용시 Publish over SSH 사용중 에러가 발생하는데요. 이에 여러 방안을 찾았으나, 젠킨슨 깃허브에 23년 6월 말 일자로 이슈업되었고 아직 댓글로 안달린것으로 확인했습니다. 결국 답은 플러그인 버전을 낮추는 것이었네요.. 결론 : 두개의 라이브러리를 다운그레이드 버전 낮추기 Publish over SSH 1.25 -> 1.24 JSch dependency 0.2.8-65.v052c39de79b_2 -> 0.1.55.61.va_e9ee26616e7 버전 낮추는 방법 아래 사이트에서 라이브러리 검색 후 설치 http..

SERVER 2023.07.14

프록시 서버 개념

프록시 서버, Proxy: 대리 클라이언트와 서버 사이에서 데이터를 전달해주는 서버. 서버와 클라이언트 사이에 중계기로 대리로 통신을 수행하는 서버 [사용 목적] 1. 보안 : 익명의 사용자가 서버에 접근하는 것을 막는다. 2. 속도 : Proxy 서버는 사용자의 요청을 Cache해서 동일 요청이 들어오면 Cache 자원을 반환한다. 이는 서비스의 속도를 높여준다. 3. ACL : 사이트 접근에 대한 접근 정책을 정의할 수 있다.(ACL = Proxy Server에 접속할 수 있는 범위를 설정하는 옵션) 4. Log/Audit : 회사 내 직원의 인터넷 사용을 레포팅할 수 있다. 반대로 인트라넷의 사용을 레포팅할 수도 있다. 5. 지역 네트워크의 제한 우회 : 보안 상의 이유로 80 포트 외에 포트를 막..

SERVER 2021.04.06

MacOS Redis 설치

Redis 설치 brew install redis 설치 폴더 redis 실팽 파일 경로 /usr/local/bin 실행 파일 별 심볼릭 링크 경로 redis 설정 파일 경로 /usr/local/etc 설정 파일 명 redis 실행 전 설정(redis.conf 파일) 실행 포트 변경 # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 외부 접근 IP 추가 ################################## NETWORK ###################################..

SERVER/Redis 2020.11.17

쿠버네티스 기본

쿠버네티스(kubernetes)란? 쿠버네티스는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼 2014년 구글 내부에서 사용하던 컨테이너 오케스트레이션 시스템 보그를 오픈 소스로 공개한것 명칭의 유래는 키잡이(helmsman)이나 파일럿을 뜻하는 그리스어 k와 s사이의 글자가 8개라 줄여서 k8s라고 쓰임 컨테이너(container)란? 가상머신(virtual machines) VM은 기본적으로 컴퓨터의 에뮬레이션으로 프로그램을 실제 컴퓨터처럼 실행 내부에서 보면 게스트 머신은 자신만의 자원을 할당 받은 독립된 유닛처럼 동작하나, 외주의 시점에서 보면 결국 호스트 머신의 자원을 다른 VM들과 공유하는 또 하나의 VM임을 알 수 있음 VM은 가상 하드웨어, 커널(OS 등) 그리고..

SERVER/Kubernetes 2020.11.13

쿠버네티스 명령어

명령어 형태 kubectl [command] [type] [name] [flags] command : 자원에 실행하려는 동작 create : 생성 get : 정보 가져오기 describe : 자세한 상태 정보 delete : 삭제 type : 자원 타입 pod : Pod service : 서비스 name : 자원 이름 flag : 옵션 pod 조회 kubectl get pods READY : 0/1(생성되었지만 사용 준비 X) / 1/1(생성되었지만 사용 준비 O) STATUS : Running (실행) / Terminating / ContainerCreating RESTARTS : 재시작 횟수 AGE : 생성 후 지난 시간 서비스 조회 kubectl get services NAME : 서비스 이름 TY..

SERVER/Kubernetes 2020.11.13

쿠버네티스 파일 작성 방법

apiVersion: apps/v1beta1 # k8s API 버전 kind: Deployment # 오브젝트 종류 metadata: name: {deploymentName) # 디플로이먼트 이름 namespace: default spec: selector: matchLabels: app: {podLable} # 배포를 적용할 pod 레이블 replicas: 1 # pod 템플릿에 매칭되는 파드 개수 template: # pod 템플릿 metadata: labels: app: {podLable} spec: containers: - name: {ContainerNAme} # 컨테이너 이름 image: {DockerImageLocation} # D2hub Docker 이미지 resources: # pod 메..

SERVER/Kubernetes 2020.11.13

bootJAR 배포 설정

Jenkins 빌드 후 배포 설정을 다음과 같이 한다. Command echo "> 현재 구동중인 pid 확인" CURRENT_PID=$(ps -ef | grep java | grep test* | awk '{print $2}') echo "$CURRENT_PID" if [ -z $CURRENT_PID ]; then echo "> 종료할 pid가 없습니다." else echo "> kill -9 $CURRENT_PID" kill -9 $CURRENT_PID sleep 10 fi echo "> jar 파일을 실행합니다." export BUILD_ID=testProject nohup java -jar build/libs/test.jar & export BUILD_ID=testProject 내용이 없는 경우 ..

SERVER/Jenkins 2020.06.10