반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ifelse
- 겟터
- .substring
- 칼럼명에 별칭 지정
- 생성자쓰는이유
- 이터레이블
- executeUpdate
- int오류
- 삼항연산자
- getter
- 향상된for문
- 오라클
- sql오류
- 제어문
- setter
- 자바
- 카카오인턴십
- for문
- 객체
- .repeat
- Java
- 작성순서
- 연산자
- SQL
- 프로그래머스
- HAVING
- Join
- 상속
- 생성자
- SELECT 절
Archives
- Today
- Total
CoDream
GitLab 본문
728x90
반응형
깃랩(GitLab)은 개발자들이 협업할 수 있도록 도와주는 Git 저장소 관리 시스템입니다. GitHub와 비슷하지만, 자체 서버에 설치해서 사용할 수도 있고 CI/CD 같은 자동화 기능이 잘 갖추어져 있어 실제 배포에도 많이 활용됩니다.
✅ 정의
GitLab은 Git 기반의 버전 관리, 코드 리뷰, 이슈 관리, CI/CD 파이프라인까지 지원하는 DevOps 플랫폼입니다.
**그룹(Group)**은 여러 프로젝트를 묶는 조직 단위이고,
**프로젝트(Project)**는 Git 저장소와 CI/CD 설정, 이슈 트래킹 등 개발의 단위를 말합니다.
✅ 3줄 요약
- GitLab은 Git 저장소 + 협업 + 배포 자동화 기능을 제공하는 플랫폼입니다.
- 그룹 → 프로젝트를 생성하고 Git으로 코드를 관리할 수 있습니다.
- CI/CD 설정을 통해 개발환경/운영환경으로 자동 배포가 가능합니다.
✅ 예시 코드와 설명
1. 프로젝트 생성 후 코드 푸시 예시
bash
복사편집
# 터미널에서 GitLab에 코드 푸시하기 git init # Git 초기화 git remote add origin https://gitlab.com/내아이디/프로젝트명.git git add . git commit -m "처음 커밋" git push -u origin master
2. .gitlab-ci.yml 파일 (CI/CD 설정)
yaml
복사편집
stages: - build - deploy build_job: stage: build script: - echo "앱 빌드 중..." deploy_dev: stage: deploy only: - develop script: - echo "개발 서버로 배포 중..." deploy_prod: stage: deploy only: - main script: - echo "운영 서버로 배포 중..."
✅ 자세한 설명
1. GitLab 회원가입 및 설정
- https://gitlab.com/ 에서 회원가입 후 로그인
- 프로필 설정, SSH 키 등록 (로컬에서 깃랩 접속 시 필요)
- SSH 키 생성: ssh-keygen → 공개키를 GitLab > Settings > SSH Keys에 등록
2. 그룹(Group) 만들기
- GitLab에서는 그룹이 회사나 팀을 나타냄
- 여러 프로젝트를 그룹 아래에 만들 수 있음
- 경로: GitLab > Groups > New group
- 그룹 이름, 설명 입력 → Create group
3. 프로젝트(Project) 만들기
- 경로: GitLab > New project
- 프로젝트 이름, 그룹 설정, 공개 여부 선택
- README.md, .gitignore, license 옵션 선택 가능
4. Git으로 로컬 코드 푸시
- GitLab에서 프로젝트 생성 후, Git 주소 복사
- 터미널에서 로컬 프로젝트와 연결
- git push로 GitLab에 코드 업로드
5. GitLab CI/CD 설정
🔹 .gitlab-ci.yml 파일 생성
- 프로젝트 루트에 .gitlab-ci.yml 작성
- 이 파일로 CI(테스트/빌드)와 CD(배포)를 자동화함
# 예시: develop 브랜치 = 개발 서버, main 브랜치 = 운영 서버
stages:
- build
- deploy
build_job:
stage: build
script:
- npm install
- npm run build
deploy_dev:
stage: deploy
only:
- develop
script:
- scp -r ./dist user@dev-server:/path/to/app
- ssh user@dev-server "systemctl restart my-app"
deploy_prod:
stage: deploy
only:
- main
script:
- scp -r ./dist user@prod-server:/path/to/app
- ssh user@prod-server "systemctl restart my-app"
- scp: 파일을 서버에 복사
- ssh: 서버에 접속해서 명령 실행
- systemctl restart: 배포 후 서비스 재시작
6. 개발/운영 서버 구성
- 보통 다음과 같이 환경 분리함:
- develop 브랜치 → 개발 서버
- main 브랜치 → 운영 서버
- 각 브랜치에 푸시될 때마다 .gitlab-ci.yml에 따라 자동으로 배포됨
7. 실무에서의 흐름 요약
- GitLab에서 그룹/프로젝트 생성
- 로컬에서 작업 → GitLab에 push
- .gitlab-ci.yml 설정 후 자동 빌드/배포
- 팀원들과 이슈관리, 코드리뷰, Merge Request를 통해 협업
필요하시면 직접 사용해볼 수 있는 간단한 템플릿 프로젝트나,
Spring 프로젝트용 배포 예시도 추가로 알려드릴 수 있어요.
어떤 환경(리눅스 서버, AWS, Netlify 등)에 배포할 건지도 알려주시면 맞춤형으로 도와드릴게요!
728x90
반응형
'Develop > 프로젝트' 카테고리의 다른 글
PHP, MYSQL 버전 확인 (0) | 2025.04.28 |
---|---|
As-Is / To-Be (3) | 2024.09.04 |
ERP, MES? POP는 또 뭐야? (0) | 2024.09.04 |
AWS(아마존 웹 서비스)-S3, EC2, 방화벽, 도커 (1) | 2024.09.04 |
도메인이 만료 시 SSL 인증서는? (3) | 2024.09.03 |