💽 CICD

💽 CICD/Git

[Gitlab] Runner 구성하기

[Gitlab] Runner 구성하기앞서 gitlab CI/CD의 `.gitlab-ci.yml` 대해 포스팅했었다. [Gitlab] Gitlab CI/CD 파이프라인[Gitlab] Gitlab CI/CD 파이프라인이전 포스팅에서 github의 Action에 대해서 포스팅 한 적이 있었다. [CI/CD] Git hub Action[Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로heywantodo.tistory.com해당 포스팅에서 CI/CD 파이프라인을 실행하기 위해선  작업을 진행할 Gitlab Runner가 필요하다고 언급을 하였는데,이번 포스팅에선 Gitlab Runner를 구성하는 방법에 대해 알아보고자 한다. GitLab Ru..

💽 CICD/Git

[Gitlab] Gitlab CI/CD 변수

[Gitlab] Gitlab CI/CD 변수Gitlab CI/CD 변수는 환경 변수의 일종으로, 해당 변수를 사용하여 다음과 같은 일을 할 수 있다.작업 및 파이프라인의 동작을 제어재사용 할 값들을 저장`.gitlab-ci.yml` 파일에 하드코딩된 값을 피함특정 파이프라인에서 변수 값을 재정의하거나, 수동 파이프라인 사전작업에 변수를 미리 채우는 등의 작업이 가능한데, 조금 더 자세히 확인해보자. 미리 정의된 CI/CD 변수Gitlab CI/CD는 미리 정의된 CI/CD 변수를 파이프라인 구성 및 작업 스크립트에서 사용할 수 있도록 제공한다.job1: stage: test script: - echo "The job's stage is '$CI_JOB_STAGE'"예를 들어 위 job 같은 경우..

💽 CICD/Git

[Gitlab] Gitlab CI/CD 파이프라인

[Gitlab] Gitlab CI/CD 파이프라인이전 포스팅에서 github의 Action에 대해서 포스팅 한 적이 있었다. [CI/CD] Git hub Action[Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴이다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유한heywantodo.tistory.comgithub Action은 Git 리포지토리에서 워크 플로우를 구성하여, CI/CD를 포함하여 원하는 작업을 수행하고 자동화하여 실행하는 툴이다.Gitlab에서도 github action과 같은 역할을 하는 gitlab CI/CD를 사용할 수 있다. Gitlab CI/CD는 ..

💽 CICD

[Git] tracked & untracked files

[Git] tracked & untracked files Git의 라이프사이클이전에 Git에 대해 포스팅을 할때, Git은 Committed, Modified, Staged 이렇게 세개의 상태로 관리한다고 언급 했었다.해당 상태는 Git 프로젝트의 세 가지 단계(Working Directory, Staging Area, Repository)와 연결되어 있다.Committed데이터가 로컬 데이터베이스에 안전하게 저장된 상태Modified수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태Staged현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태 워킹 디렉토리의 파일은 크게 Tracked(관리 대상)과 Untracked(관리대상이 아님)으로 나뉜다. Tracked & UntrackedTrackedT..

💽 CICD/Git

[Git] 폴더, 파일 이름 변경

[Git] 폴더, 파일 이름 변경git의 파일 이동 명령어인 mv를 사용하면 rename과 동일한 효과를 얻을 수 있다.이후 commit을 해주면 원격 저장소에 적용이 된다.git mv old_name new_namerename history를 확인하기 위해 log --patch 명령어를 실행할 수 있다. git log -p -1diff --git a/config.production.json b/config.production.json.examplesimilarity index 100%rename from old_name.txtrename to new_name.txt

💽 CICD/Git

[Git] 원격 저장소와 로컬 저장소의 소스 코드 일치 시키기

[Git] 원격 저장소와 로컬 저장소의 소스 코드 일치 시키기   로컬 저장소에서 작업하던 내용이 더 이상 필요 없거나, 원격 저장소의 최신 상태로 덮어쓰고자 할 때,로컬 브랜치를 초기화하여 충돌 없이 최신상태로 유지하는 방법은 다음과 같다.git fetch --all --prunegit reset --hard origin/main 각 명령어의 역할에 대해 알아보자.git fetch --all --prunefetch는 원격 저장소의 변경사항을 가져온다. --all : 현재 로컬에 등록된 모든 원격 저장소에 대해 git fecth를 실행한다.--prune : 원격 저장소에서 삭제된 브랜치를 로컬에서도 삭제한다.  git reset --hard origin/main로컬 브랜치를 특정 원격 브랜치와 일치시키기..

💽 CICD/Git

[Git] Git Squash로 커밋 정리하기

[Git] Git Squash로 커밋 정리하기여러번의 커밋으로 복잡해진 히스토리를 관리하다 보면, 코드 리뷰 과정이나 협업 시 불필요한 커밋들이 쌓여 코드의 흐름을 이해하기 어려워질 수 있다. 이 때 유용한 git의 기능 중 하나가 바로 git squash다. Git Squash란?여러 개의 커밋을 하나로 합치는 작업을 말한다.이를 통해 코드베이스의 커밋 히스토리를 깔끔하고 간결하게 유지할 수 있다. 예를 들어, 하나의 기능을 개발하면서 여러 번 커밋을 남기게 되는데, 이를 코드베이스에 병합하기 전에 커밋으로 합쳐서 기록하는 것이 일반적이다. 💡 왜 Squash를 사용할 까?작업 중간중간 불필요한 커밋들을 합쳐서 메인 브랜치에 병합할 때, 커밋 히스토리를 깔끔하게 유지할 수 있다.리뷰어가 기능 하나당 ..

💽 CICD/Git

[Git] 특정 파일만 pull 받아오기

[Git] 특정 파일만 pull 받아오기원격 저장소에서 push된 변경 사항이 여러가지가 있을 때, 로컬 저장소에 특정 변경사항만 pull을 받아오고 싶은 경우다음과 같이 checkout 명령어를 사용하면 된다.# 원격저장소의 변경사항 업데이트git fetch# 특정 파일만 Pullgit checkout origin/master --

💽 CICD/Git

[Git] fatal: push options must not have new line characters

[Git] fatal: push options must not have new line characters Merge Request 를 command Line으로 생성하는 법을 포스팅 했었다. [Git] Merge Request command Line으로 생성하기[Git] Merge Request command Line으로 생성하기 자동으로 MR 생성을 해야하는 과제가 있었다. 찾아보니 gitlab 11.10 부터 git 2.10 이상을 사용하는 경우, 다음과 같이 CLI로 Merge Request를 생성할 수 있었다. git pheywantodo.tistory.comgit push \-o merge_request.create \-o merge_request.remove_sour..

💽 CICD/Git

[Git] remote: You are not allowed to push code to this project.

[Git] remote: You are not allowed to push code to this project. 어제까지만 해도 잘 되던 Push가 다음과 같은 에러 메시지와 함께 안되기 시작했다 😥 remote: You are not allowed to push code to this project. fatal: unable to access 'http//git_repositoy.git/ ': The requested URL returned error: 403 원인은 여러가지가 있는 것으로 보였다. 1. Protect Branch로 설정되어있는데, force Push가 허용이 되어있지 않은 경우 2. 자격 증명이 잘못 설정되어 있는 경우 1번의 경우엔 브랜치 설정에서 proctect branch로 설..

💽 CICD/Git

[Git] 로컬 브랜치를 다른 이름의 원격 브랜치로 push

[Git] 로컬 브랜치를 다른 이름의 원격 브랜치로 push 일반적으로 로컬 브랜치를 같은 이름의 원격 브랜치에 push하지만, 운영중인 브랜치일땐 바로 push를 하기 쉽지가 않다. 그럴 경우 로컬 브랜치와 원격브랜치의 이름을 콜론으로 구분하여 지정하면 다른 이름의 원격 브랜치로 push가 된다. 예를 들어 로컬 브랜치의 이름이 master고, 원격 브랜치의 이름이 new-branch라고 하면 git push origin master:new-branch 다음과 같이 push 하면 된다. 만약 원격 브랜치에 new-branch라는 브랜치가 없는 경우, 자동으로 생성된다.

💽 CICD/Git

[Git] Script에 권한 준 채로 push하기

[Git] Script에 권한 준 채로 push하기 로컬에서 쉘 스크립트를 git으로 배포할 때, 권한 업데이트를 한 채로 push를 할 수가 있다. 권한 확인 현재 디렉토리에 위치한 파일들의 퍼미션을 확인할 수 있다. 권한이 가장 왼쪽에 숫자로 표시가 된다. git ls-tree HEAD 권한 추가 git update-index --chmod=+x test.sh 권한 제거 git update-index --chmod=x test.sh 참고 https://brownbears.tistory.com/612

heywantodo
'💽 CICD' 카테고리의 글 목록