분류 전체보기 1170

GitLab 삭제

디스크 용량을 확보하기 위해 테스트 목적으로 설치한 GitLab을 삭제하려고 한다. 패키지만 삭제한다고 삭제되지 않기 때문에 아래 과정을 따라야 한다. 방법 1. GitLab 서비스 제거 gitlab-ctl uninstall root 권한을 요구한다. 2. 데이터 삭제 gitlab-ctl cleanse 잠깐 기다리는 시간이 필요하다. 3. GitLab 계정 삭제 gitlab-ctl remove-accounts 4. 패키지 삭제 # ubuntu dpkg -P gitlab-ce # centos yum remove gitlab-ce # 다중 명령어로 실행해도 됨 dpkg -P gitlab-ce || sudo yum -y remove gitlab-ce 패키지 버전은 설치한 버전에 맞게 gitlab-ee 또는 g..

Git | GitLab 2021.05.28

[GitLab] Data 저장 디렉터리 변경

git data는 별다른 설정을 하지 않았을 경우, 아래 경로에 저장된다. /var/opt/gitlab/git-data 즉, root 경로 아래에 데이터가 누적된다. /root에 데이터가 누적되는 경우 디스크 용량이 부족해질 수 있어 별도로 마운트 시킨 디스크에 데이터가 저장될 수 있도록 변경하고자 한다. GitLab 설정 변경이므로 root 권한이 필요할 수 있다. 방법 1. 설정 파일 수정 vim /etc/gitlab/gitlab.rb 파일 내에서 아래와 같은 git_data_dirs 설정을 찾는다. # git_data_dirs({ # "default" => { "path" => "/var/opt/gitlab/git-data" }, # }) 2. 디렉토리 지정 해당 내용을 주석 해제 후, path 값..

Git | GitLab 2021.05.27

특정 Commit History 삭제

아무리 조심한다고 한들 살다 보면 민감정보가 포함된 내용을 commit/push 하는 경우가 종종 있기 마련이다. 이미 원격 저장소에 푸시를 완료한 상황이라면 파일 내용을 수정해봐야 commit history에는 여전히 정보가 남아있기 때문에, 아예 해당 커밋을 푸시한 이력이 없던 버전으로 원격 저장소의 상태를 돌려놓아야 한다. 이 글은 커밋 히스토리에서 잘못 커밋/푸시한 파일을 삭제하는 방법을 다룬다. 방법 1. 클론받은 레포지터리로 이동한다. 2. 브랜치 재작성 필터링을 이용해 적용된 파일만 가지고 히스토리를 재구축한다. git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch ''" \ --prune-empty --ta..

Git | GitLab 2021.05.26

[GitLab] Repository mirroring 설정

Repository mirroring 설정 시 일정 주기마다 미러링 저장소를 자동으로 업데이트하여 원본 저장소와 동일한 상태로 만든다. 미러링 방향은 push(core) 또는 pull(premium) 레포지터리 미러링 설정은 웹 또는 RestAPI를 통해 설정할 수 있다. 이 글에서는 웹을 통해 레포지터리 미러링 기능을 이용하여 GitLab 저장소(원본 저장소)에서 다른 GitLab 저장소(미러링 저장소)로 Push 하도록 설정하는 방법을 다룬다. 준비물 - 사용자 Access Token (선택사항) 더보기 Access Token은 계정에 대한 권한 인증에 사용하며, 일종의 비밀번호처럼 사용한다. 미러링 저장소에 Push할 계정의 액세스 토큰을 생성하면 된다. Access Token 생성 내 계정 > P..

Git | GitLab 2021.05.25

[Ubuntu 18.04 LTS] GitLab 설치

Ubuntu 18.04 LTS에 GitLab-CE 설치 방법을 적어둔다. 당연하겠지만 공식 가이드 문서를 참고할 것. 공식 가이드 문서 : https://about.gitlab.com/install/ Download and install GitLab Learn about the various GitLab installation packages and downloads for Ubuntu, Debian, Docker, Google Cloud, and many more. about.gitlab.com 방법 1. OS 버전 확인 cat /etc/issue # 또는 uname -a # 또는 cat /etc/*release* 만약 사진처럼 Amazon Linux 2 AMI를 사용하는 EC2에 설치하고자 한다면 C..

Git | GitLab 2021.05.24

[Jenkins] Build 히스토리 삭제 - 1

Jenkins는 빌드 후, 그 결과에 대한 파일을 아래의 경로 밑에 빌드 번호 디렉터리를 생성해서 저장한다. JENKINS_JOBS/JOB_NAME/builds # 기본 경로 /var/lib/jenkins/jobs/JOB_NAME/builds 이렇게 저장된 파일은 아래 사진처럼 웹에서 빌드 결과를 조회할 때 사용되는데, 오래된 빌드 결과는 가지고 있어 봐야 크게 쓸 곳은 없다. 특히 실시간에 가깝게 처리하는 Job은 디스크 용량이나 파일 수를 감당할 수 없어 정리가 필요하다. 따라서 이 글은 Jenkins 빌드 결과 삭제 방법에 대해 다룬다. 1. 웹 상에서 1.1 특정 빌드만 삭제 삭제할 작업의 삭제할 빌드를 선택해 들어간다. 표시한 빌드 삭제 버튼을 클릭하면 된다. 1.2 오래된 빌드 삭제 기능 사용..

Jenkins 2021.05.23

Telnet 원격 접속 확인

Telnet 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜 또는 프로토콜의 클라이언트 일부 기능이 추가된 소프트웨어 Telnet은 모든 데이터를 평문으로 전송하기 때문에 실행한 명령어에 대한 정보가 노출된다. 따라서 SSH에 의해 대체되기도 한다. 이 글은 Telnet을 이용한 원격 접속 확인 방법을 간단히 다룬다. 나는 보통 호스트 간 방화벽 해제 여부를 확인할 때 많이 쓰기 때문이다. 방법 telnet # IP 자리엔 DNS도 가능 # 예시 : RDS 접속 가능 여부 확인 telnet example-rds.ckmdzkpepxfq.ap-northeast-2.rds.amazonaws.com 3310 성공적으로 통신이 가능하면 사진과 같은 결과가 나온다. 텔넷에서 빠져나오는 방법 CTRL+..

Linux 2021.05.22

scp 서버 간 파일 전송

SCP; SecureCopy SSH 프로토콜을 기반으로 호스트 간 파일 전송 명령어 ssh와 마찬가지로 전송 시 사용 계정 비밀번호 또는 pem key 인증이 필요할 수 있다. 방법 1. 보내기 전송 흐름 : 로컬 -> 원격 scp @: # -i : pem key 지정 # -P : 사용 port 지정 # 예시 scp -i ~/.ssh/key-an2-prd.pem -P 50022 /home/user/settings_int.tgz ubuntu@10.120.12.111:/data111/prog 2. 받기 전송 흐름 : 원격 -> 로컬 scp @: # -i : pem key 지정 # -P : port 지정 #예시 scp -i .ssh/key-an-prd.pem -P 50022 jyo@10.20.222.213:/..

Linux 2021.05.21

SSH 원격 접속

SSH; Secure Shell 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 프로토콜 일반적으로 22 Port 사용 Public key, Private Key를 이용해 안전한 통신이 이뤄진다. 터미널 또는 Tool인 MobaXterm을 이용해 SSH 원격 접속 방법을 적어둔다. 1. 원격 접속 방법 ssh @ 비밀번호를 요구할 수 있다. 2. pem key 인증 필요시 접속 방법 ssh -i @ ssh에 사용하는 pem key는 보통. ssh 디렉터리 아래에 저장해둔다. 3. 포트 지정 필요 시 ssh -p @ 기본적으로 22번 포트를 사용하기 때문에, 22번 포트 그대로 사용한다면 지정하지 않아도 된다. 4..

Linux 2021.05.20

SWAP 초기화

SWAP RAM의 사용량이 가용량을 넘을 경우, 하드 디스크 파티션을 메모리처럼 활용하는 기술 메모리에 여유가 생겨도 Swap은 자동으로 초기화되지 않는다고 한다. 아마 메모리가 여유로워도 사용하던 Swap을 계속 사용한다는 뜻인 것 같다. Swap은 비활성화했다가 활성화하는 간단한 방식으로 초기화할 수 있다. 방법 1. MEM/SWAP 사용량 확인 top htop free -h 셋 중 잘 쓰는 명령어로 확인하면 된다. 2. SWAP 비활성화 swapoff -a # -a : /etc/fstab에서 swap으로 인식한 모든 장치를 swap에서 해제 root 권한이 필요하다. 비활성화 시 Swap에서 필요한 부분은 메모리로 이동하기 때문에 메모리 사용량이 증가할 수 있다. 3. SWAP 활성화 swapon ..

Linux 2021.05.19