GitLab DevOps: 로컬 워크플로우

2798 단어 gitgitlab
이것은 로컬 가상 머신/컨테이너, GitLab, 개발 서버, 스테이징 서버 및 프로덕션 서버를 통해 GitLab DevOps pipeline을 설정하는 시리즈를 계속합니다. 이 게시물은 vagrant, Docker Desktop, GitPod 또는 다른 것을 통해 이미 로컬 VM 또는 컨테이너가 있다고 가정합니다.

분기 다이어그램



이 다이어그램은 이 시스템의 코드 흐름을 설명하는 데 도움을 주기 위한 것입니다. 개발은 현지 지점에서 이루어집니다. dev 서버에 배포하려면 dev 브랜치에 병합을 요청하십시오. 스테이징 서버에 배포하려면 메인 브랜치에 병합을 요청하십시오. 프로덕션에 배포하기 위한 CI/CD 작업도 있지만 수동 프로세스입니다. 다른 둘과 같은 분기 병합에서는 자동이 아닙니다. 배포용 CI 파일은 이후 게시물에서 다룹니다.


분기 및 서버 다이어그램

편집 및 브라우징 워크플로우



내가 선호하는 편집기는 Visual Studio Code 입니다. VM/컨테이너가 vagrant인지 또는 GitPod인지에 관계없이 VS Code를 사용할 수 있습니다. 가장 좋은 경험은 Docker, 그 다음 GitPod, 마지막으로 vagrant가 작동하지만 다른 서버와 유사하며 확장 추가와 같은 추가 특수 기능이 없습니다. 물론 다른 편집기/터미널을 사용할 수도 있습니다.

편집할 수 있는 것과 함께 이것은 웹 사이트이므로 현재 코드와 데이터베이스로 웹 사이트가 어떻게 보이는지 테스트하는 것이 매우 중요합니다. 정확히 어떻게 보이는지는 GitPod, vagrant 또는 Docker를 사용하는지 여부에 따라 다릅니다. 각 시스템마다 다르기 때문에 여기에서 필요한 모든 Apache 구성을 자세히 설명하지는 않겠습니다.

각각의 가상화/컨테이너화 시스템에서 Drupal 친화적인 환경을 갖는 것에 대한 게시물에서 더 자세히 다룹니다.
  • Vagrant VM
  • GitPod
  • Docker Desktop

  • GitLab에 커밋



    이 설정에서는 각 사용자에 대해 하나의 GitLab 리포지토리 분기가 있습니다. 이렇게 하면 각 사용자가 다른 VM에서 다른 사용자가 수행하는 작업을 방해하지 않습니다.

    새 브랜치를 시작하고 전환하려면 다음을 실행합니다.

    git checkout -b ryan
    


    ryan 브랜치에 변경 사항을 추가하고 커밋하기 위해 다음을 실행합니다.

    git add [file to add]
    git commit -m "[description of what changed]"
    


    병합 요청



    메인 브랜치에 병합할 준비가 되었다고 생각되면 GitLab 인터페이스로 이동하여 라이언 브랜치에서 병합하려는 다른 브랜치(이 시나리오에서는 dev 또는 main)에 병합 요청을 넣습니다. . 병합을 할당할 사람, 추가 코드 검토를 먼저 수행해야 하는 사람, 연결해야 하는 프로젝트 마일스톤 등 몇 가지 유용한 옵션이 있습니다.

    GitLab has good documentation on merge requests 따라서 여기서는 더 이상 자세히 설명하지 않겠습니다.

    좋은 웹페이지 즐겨찾기