목록Study/Git (16)
오늘도 한 뼘 더
# 배경 GitLab에서 CI/CD를 제공하는데 gitlab-ci.yaml을 작성하고 돌리니 gitlab runner 설치가 필요하다는 메시지가 나왔다. # GitLab Runner 설치 ## gitlab-runner 다운로드 # 다운로드 $ sudo curl -L --output /usr/local/bin/gitlab-runner \ "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64" # 권한 부여 $ sudo chmod +x /usr/local/bin/gitlab-runner # 설치 $ sudo apt-get install gitlab-runner ## gitlab-runner 등록 G..
# 배경 작업 중인 디렉터리에서 git을 사용하려고 하는데 에러가 발생했다. # 문제 git status 명령어를 실행시키는데 다음과 같은 에러가 나타났다. $ git status > fatal: detected dubious ownership in repository at 위의 문제는 Git의 보안 이슈로 인해서 해당 경로가 차단돼서 나타나는 문제라고 한다. # 해결 방법 다음 명령어를 통해서 해당 경로를 안전 경로로 등록을 해주면 된다. $ git config --global --add safe.directory [directory path]
# 배경 이전에 제공되던 GitLab을 사용할 때 언급을 하거나 MR이 올라올 때에 이메일이 왔었는데 직접 GitLab 이미지를 받아서 올리고 난 뒤부터 이메일 기능이 작동하지 않는 것을 알았다. 이메일을 받을 수 있도록 GitLab을 설정하도록 하자. # GitLab 설정 변경하기 GitLab의 환경설정 등은 gitlab.rb를 통해서 변경할 수 있다. gitlab.rb의 내용을 다음과 같이 작성하여 gmail을 통해서 이메일 발송을 진행하였다. gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name']..
# 배경 개발자가 작성한 테스트 코드를 돌리고 나서 결과에 따라서 GitLab에서 바로 Merge가 되지 않았으면 한다는 요구 조건이 있었다. 이전에 테스트 코드 실행은 GitLab에서 Merge Request가 열리면 Webhook을 통해서 Jenkins에서 테스트 코드가 실행되었다. 위의 요구 조건을 실행하기 위해서 GitLab의 CI/CD 툴을 사용하기로 하였다. # .gitlab-ci.yaml gitlab ci/cd의 경우 레포지토리에 .gitlab-ci.yaml 파일을 포함하고 있으면 자동으로 pipeline이 실행이 된다. gitlab repository > Settings > CI/CD에 들어가면 변수 세팅을 할 수 있다. 변수를 세팅할 때 Protected로 변수를 설정할 경우 Protec..
# 배경 git repository를 pull 하거나 push 할 때마다 username과 password를 입력해야 하는 번거로움이 있다. 한번 설정하고 나면 물어보지 않았으면 좋겠다. 저장하는 방법을 찾아보도록 한다. # 저장 방법 다음 명령어를 통해 git 설정에 추가한다. git config (--global) credential.helper store 이후 push나 pull 할 때 username과 password를 입력하고 나면 저장이 되어 그 이후에 더 이상 입력을 해야 할 필요가 없다.
# 배경 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 버전에서 추가로 제..
# 배경 로컬에서 git 코드를 pull 받는 중에 다음과 같은 에러가 발생하였다. Unlink of file failed. Should I try again? # 문제 원인 찾아본 결과 이 문제는 해당 파일이 다른 프로그램에서 사용이 되고 있어 브랜치를 변경하는 과정에서 이 파일을 변경하거나 옮기지 못하게 git에서 보호를 하는 것이라고 하였다. 실제로 pull을 받기 전에 브랜치를 변경하는 작업을 진행하고 있었다. # 해결 방법 'y'를 누르면 해결이 된다는 글도 있었는데 'y'를 눌렀을 때에는 계속에서 다른 파일에 대한 해당 에러가 발생하였다. Ctrl + C로 해당 명령어를 중지하고 다시 pull을 받았다. git pull origin main 다시 pull을 받으니 정상 작동 완료!
# 배경 회사에서 새로운 프로젝트를 만들었는데 gitignore 파일이 제대로 먹히지 않고 gitignore 파일 안에 지정한 파일이 git으로 올라가는 문제가 발생했다. # 문제 및 해결 방법 gitignore에 설정하는 파일은 파일을 만들기 전에 미리 gitignore에 작성을 해야 정상적으로 작동함을 확인했다. 아래 파일을 git에 올리지 않도록 하고 싶었는데 제대로 동작하지 않았다. .idea/workspace.xml 해당 파일을 삭제한뒤에 위 코드를 작성하고 git push를 하면 정상적으로 해당 파일이 올라가지 않음을 확인했다.