목록전체 글 (245)
오늘도 한 뼘 더

# 배경 Jenkins 작업 중 사용하던 플러그인 하나가 작동하지 않아서 Jenkins 관리에 들어가니 다음과 같이 빨갛게 경고가 떠있고 그 내용 중 작동하지 않는 플러그인에 대해 Vulnerability 경고가 떠 있었다. # 문제 해당 문제는 설치되어 있는 플러그인에 대한 취약점이 발견되면 뜨는 경고라고 한다. 문제를 해결하기 위해서는 일단 플러그인 관리에서 확인하여야 한다고 한다. # 해결 플러그인 관리에 들어가면 두 가지 색으로 경고 창이 나뉘는데 | 파란색 경고창 아래의 사진과 같이 파란색의 경고창이 뜨는 경우는 젠킨스 자체 버전을 업그레이드해야 하는 경우이다. | 노란색 경고창 아래와 같은 노란색 경고창의 경우 플러그인의 버전만 업그레이드하면 해결되는 경고이다.

# 배경 helm 차트를 사용하여 패키지를 추가하는 과정에서 다음과 같은 경고 메시지가 떴다. WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/.kube/config 보안상의 문제가 있는 건지 궁금해서 찾아보게 되었다. # 문제 해당 메시지가 떴던 이유는 config에 설정된 권한 때문이었다. 현재 권한이 제삼자도 읽기 권한을 가지고 있어 위와 같은 경고 메시지가 뜬 것이었다. # 해결 방법 위 문제는 무시해도 큰 문제는 없다고 했는데, 이런 경고 메시지를 받지 않기 위해서는 해당 파일의 권한을 다음과 같이 변경하면 된다. chmod 600 /home/.kube/config

# 배경 SSH 키를 사용해서 접근을 하려고 하는데 키에 관한 에러가 발생하면서 다음과 같은 내용이 떴다. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The ECDSA host key for gitlab.X.com has changed, and the key for the corresponding IP address X.X.X.X is unchanged. This could either mean that DNS SPOOFING is happening or ..

## 배경 ssh를 이용하여 gitlab에 접근하고자 했는데 gitlab을 도커 컨테이너로 설치하면서 도커 컨테이너 22번 포트가 제대로 열리지 않는 문제가 발생하였다. docker의 ssh 포트번호를 변경하고 ssh config를 통해서 변경된 포트로 연결될 수 있도록 설정하고자 한다. ## ssh config 작성 Host gitlab HostName gitlab.beautiful0.org User git Port 10022 Host : ssh 명령에 사용할 이름 HostName: Host에 지정된 이름이 매핑되는 호스트 명 User: 연결에 사용되는 계정 Port: 연결한 서버의 포트 번호 (기본 값: 22번) IdentityFile: 사용할 키의 위치 (기본값은 rsa의 경우 ~/. ssh/id_..

# 문제 Docker Image를 빌드하는데 sending build context to Docker daemon에 찍히는 수가 5GB가 넘어가고 있었다. 그래서 일단은 진행 중인 빌드를 중지시키고 해당 내용에 대해 검색해 보았다. # 원인 도커가 빌드를 할 때 해당 디렉터리의 모든 콘텐츠를 불러와 빌드를 하기 때문에, 루트 디렉터리에서 실행을 하게 되면 이런 경우가 발생한다고 한다. Docker 공식문서에도 루트 디렉토리는 피하라고 되어있었다. 실제로 루트 디렉토리에 디렉터리를 만들어서 그 안에서 실행했는데 그게 원인이었던 것 같다. # 해결 방법 루트 디렉토리가 아닌 home 디렉터리에 작업용 디렉터리를 만들어서 그 안에서 Dockefile을 복사해 주었다. 복사해 준 Dockerfile로 Docke..

# EC2 중지하기 aws ec2 stop-instances --instance-ids [instance ID] 인스턴스를 시작하거나 인스턴스 설정을 변경하기 위해서는 인스턴스가 완전히 중지되어야 한다. # EC2 완전히 중지 될때까지 기다리기 aws ec2 wait instance-running --instance-ids [instance ID] # EC2 시작하기 aws ec2 start-instances --instance-ids [instance ID] 인스턴스가 실행 상태로 변경 되어야 인스턴스에서 작업을 진행할 수 있다. # EC2 실행 될때까지 기다리기 aws ec2 wait stop-instances --instance-ids [instance ID] # 상태 체크 완료까지 기다리기 aws..

# 배경 root 비밀번호가 기억이 나지 않아서 로그인을 하지 못하고 변경해야하는 상황이다. initial_password의 경우는 한 번 로그인 한 뒤 변경사항이 있으면 24시간 뒤에 삭제가 된다고 한다. # gitlab-rail 사용해서 변경하기 gitlab-rail은 gitlab-ee 버전의 이미지를 사용한 경우에만 가능하다고 한다. gitlab docker에 접근 docker exec -it gitlab /bin/bash docker-rail 사용하여 비밀번호 변경하기 $ gitlab-rails console -e production -------------------------------------------------------------------------------- Ruby: ruby ..

# 배경 자체 GitLab 서버를 설치하고 root 계정으로 로그인하려고 하는데 비밀번호가 틀렸다는 오류가 나온다. # root 계정 비밀번호 확인하기 cat $GITLAB_HOME/config/initial_root_password 초기 비밀번호를 확인할 수 있다. ######################### PASSWORD : GJKHA...

# 배경 회사에서 GitLab을 사용 중이었는 데 사용한 가장 큰 이유는 무료로 사용이 가능해서였다. 그러다가 업그레이드를 하지 않으면 읽기 전용으로만 사용 가능하다는 알림을 받게 되었다. 5명을 초과하는 인원의 contributor를 무료 버전에서는 지원하지 않는다는 내용이었다. 그래서, 자체 관리형 gitlab을 알게 되었고 직접 GitLab 서버를 설치해서 진행해보고자 한다. # GitLab 이미지 https://hub.docker.com/u/gitlab Docker hub.docker.com GitLab 이미지는 gitlab-ee(Enterprise Edition)과 gitlab-ce(Community Edtion) 두 가지로 제공이 된다. 두 이미지는 기능이 거의 같지만 EE 버전에서 추가로 제..

# 배경 Jenkins에서 ssh를 사용하여 다른 서버에 접근하여 빌드 배포를 하는 과정에서 에러가 발생하였다. # 문제 SSH 관련 작업을 진행다가 다음과 같은 에러가 발생하였다. ERROR: Exception when publishing, exception message Exec exit status not zero. Status [1] # 원인 해당 문제를 찾아보니 SSH를 이용하여 서버에 파일을 보낼 때 또는 서버에서 script를 실행할 때에 사용하는 script 내용이나 파일을 찾을 수 없어 발생하는 문제라고 한다. # 해결 방법 해결 방법을 검색해 보니 보통 파일 경로를 제대로 작성했는지 확인해 보라고 했는데 나의 경우 파일을 보내는 것은 없어서 이는 확인이 되었다. 실행하고자 했던 scri..