Git 버전 제어를 통해 Gatsby 사이트를 cPanel에 지속적으로 배포

지난 주말에 나는 www.rezac.dev에 나의 개발자 조합 사이트를 발표했다.나는 Gatsby에 이 사이트를 만들었다. 왜냐하면 나는 정적 사이트 생성기를 사용할 수 있어서 매우 흥분했기 때문이다. 게이츠비는 React를 기반으로 한 것이다.나의 이전 프로젝트Bout Manager는 React에서 만들어졌기 때문에 React를 기반으로 하는 생성기를 선택하여 나는'가츠비'(Gatsby)와 Tailwind CSS를 구체적으로 파악하는 데 전념하도록 격려했다. 이 두 가지 도구는 내가 이 프로젝트를 내 곡에 추가할 수 있기를 바란다.
내 사이트를 배치할 때 나는 내가 이미 10여 년 동안 가지고 있는 가상 공유 위탁 관리 계정을 계속 사용하기로 결정했다.내 제품 조합은 오랫동안 배치될 수 있기 때문에 내가 관리하고 관리하는 모든 다른 사이트와 다른 클라우드 기반의 위치에 배치하는 것이 합리적이라는 것을 진정으로 증명할 수 없다.나는 클라우드 기반의 배치 해결 방안을 익힐 충분한 시간이 있다.
cPanel을 사용하여 Gatsby 사이트를 배치하려면, cPanel에 홈 페이지를 만들고, Git 버전 제어를 사용하여 cPanel에 Git 저장소를 만들어야 합니다.

게이츠비 사이트 만들기
먼저 게이츠비 사이트를 만들면 게이츠비Quick Start guide를 사용하여 빠르게 시작하고 실행할 수 있습니다.나는 Melanie Nolan's Gatsby-Starter-Tailwind-CSS부터 시작한다.
$ gatsby new gatsby-cpanel-deploy https://github.com/melanienolan/gatsby-starter-tailwind-css 
다음 도구를 사용하여 설치를 테스트합니다.
$ cd gatsby-cpanel-deploy 
$ gatsby develop 

cPanel 정의 배포 지침
다음은 프로젝트 디렉터리에 .cpanel.yml 파일을 만드는 데 배치 설명을 사용합니다.
--- 
deployment: 
     tasks: 
          - export DEPLOYPATH=/home/<username>/<public_html>/
          - /bin/cp -R public/* $DEPLOYPATH
  • 첫 번째 행은 YAML 파일의 시작입니다.
  • 두 번째 줄과 세 번째 줄에 deploymenttasks 키를 추가합니다.
  • 4행에서는 배포 중에 실행된 BASH 명령을 나열하기 시작합니다.
  • 첫 번째 BASH 명령은 서버에 배치된 파일이 있는 경로를 저장하는 변수DEPLOYPATH를 정의합니다.
    사용자 계정 사용자 이름<username>과 사이트 디렉토리에 있는 파일의 위치<public_html>를 바꿉니다.많은 배치 상황에 대해 public_html일 수 있지만, 내 계정의 추가 영역에 있는 하위 폴더에 배치하고 있기 때문에 내 경로는 demos.rezac.dev/gatsby-cpanel-deploy일 것이다.
    두 번째 BASH 명령은 지정한 파일이나 디렉터리를 $DEPLOYPATH에 정의된 디렉터리에 배치합니다.gatsby build를 실행하면 게이츠비는 자동으로 모든 파일public/ 폴더에 쓰기 때문에 public/* 이 디렉터리에 있는 모든 파일을 배치합니다.

    너의 개츠비 사이트를 세우다gatsby build를 실행하여 사이트의 구축 파일과 public 폴더를 만들고 gatsby serve를 실행하여 구축을 검사합니다.
    환매 협의의 변경을 추진하다.기본적으로 많은 Gatsby 초보자들은 public.gitignore에 추가하기 때문에 Git 버전 제어가 최종적으로 리포에서 이 파일에 접근할 수 있도록 삭제해야 한다.

    Git 버전 제어 설정.cpanel.yml에서 배치 설명을 정의하고 사이트의 구축을 GitHub 저장소로 전송한 후에 Git 버전 제어를 사용하여 cPanel에 두 번째 원격 저장소를 설정하려고 합니다.
  • 우선 Code 단추를 누르고 URL을 복사하여 GitHub의 리포에서 GitHub 저장소 클론 URL을 가져옵니다.나는 HTTPS URL을 더 좋아한다.
  • 다음에 cPanel에서 Git Version Control로 이동하고 Create 단추를 누르세요.
  • 저장소 복제를 위해 이 전환을 설정합니다.
  • 클론 URL 필드에 복제된 클론 URL을 입력합니다.
  • repostiroy 디렉터리의 경로를 입력합니다.내 디렉토리는 사이트 파일repositories 디렉토리에 있는 GitHub 저장소 이름으로 저장됩니다.
  • 프록시 이름을 입력합니다.
  • 클릭Create.

  • Git 릴리즈에서 배포 제어
    처음 배치하려면Git 버전 제어에서 저장소 목록에 있는 새 리포 옆에 있는 Manage 단추를 누르십시오.Pull or Deploy 탭을 클릭한 다음 Deploy HEAD Commit 버튼을 클릭합니다.
    Git 버전 제어는 즉시 배치에 줄을 서고 배치가 완료될 때 마지막 배치 정보를 추가합니다.

    로컬 저장소에서 Git 버전 제어를 위한 지속적인 배포 설정
    GitHub에서 변경 사항을 저장소로 푸시할 때 Git 버전 제어의 저장소Pull or Deploy 탭으로 돌아가서 Update from RemoteDeploy HEAD Commit를 클릭하여 사이트에서 실시간으로 변경할 수 있습니다.
    변경 사항을 GitHub로 전송하고 cPanel에 로그인하고 변경 사항이 적용되기 전에 수동으로 두 프로세스를 시작해야 하기 때문에 너무 번거로울 수 있습니다.더욱 간단한 해결 방안은 로컬 저장소에 연속 배치 파이프라인을 설치하고 Git 버전 제어를 통해 가능한 것이다.
    RepoBasic Information 탭에서 Git 버전에서 Repo를 제어하는 클론 URL을 복사합니다.
    로컬 저장소에서 다음을 실행합니다.
    $ git remote add <remotename> <cloneurl>
    
    그중<remotename>은 새 리모컨의 유일한 이름입니다. 저는 보통 이 리모컨을 cpanel라고 명명하고 GitHub 리모컨을 origin라고 명명합니다. 그리고 <cloneurl>는 Git 버전 제어에서 얻은 복제 URL입니다.git remote -v 명령을 사용하면 이 명령이 유효한지 확인할 수 있습니다. 이 명령은 설정한 리모컨을 보여 줍니다.
    $ git remote -v
    cpanel <cpanel clone url> (fetch)
    cpanel <cpanel clone url> (push)
    origin <github clone url> (fetch)
    origin <github clone url> (push)
    
    현재 배포 주기는 다음과 같습니다.
    $ gatsby build
    $ git add .
    $ git commit -m "Update build"
    $ git push origin main
    $ git push cpanel main
    
    Git 버전 제어는 배포가 완료되면 터미널 창에 진행 상태를 표시합니다.
    Enumerating objects: 32, done.
    Counting objects: 100% (32/32), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (18/18), done.
    Writing objects: 100% (19/19), 15.08 KiB | 3.77 MiB/s, done.
    Total 19 (delta 11), reused 0 (delta 0)
    remote: Recieved update on checked-out branch, queueing deployment.
    remote: ---
    remote: apiversion: 3
    remote: func: create
    remote: module: VersionControlDeployment
    remote: result:
    remote: data:
    remote: deploy_id: 17
    remote: log_path: /home/cranewif/.cpanel/logs/vc_1604266002.21772_git_deploy.log
    remote: repository_root: /home/cranewif/repositories/gatsby-cpanel-deploy
    remote: sse_url: /sse/UserTasks/00000000_5f9f2812355a77/vc_1604266002.21772_git_deploy.log
    remote: task_id: 00000000/5f9f2812355a77
    remote: timestamps:
    remote: queued: '1604266002.23371'
    remote: errors: ~
    remote: messages: ~
    remote: metadata: {}
    remote:
    remote: status: 1
    remote: warnings: ~
    To ssh://jlrezac.com/home/cranewif/repositories/gatsby-cpanel-deploy
       494f663..57b1676 main
    
    이론적으로 public 폴더에 cPanel remote를 설정할 수도 있지만 gatsby build는 실행할 때마다 public 폴더의 내용을 삭제하기 때문에 .cpanel.yml 파일을 Gatsby 파일과 같은 디렉터리에 저장하고 사이트를 재건할 때마다 .gitignore와 함께 복사해야 한다는 것을 기억하십시오.나는 이 해결 방안에 대해 매우 흥미를 가지고 있기 때문에, 만약 당신이 그것을 시도한다면, 나에게 그것이 당신에게 어떤 효과가 있는지 알려주십시오.
    에릭 잔토가 시작하게 해줘서 고마워deploying a Gatsby site using Git Version Control.
    이것은 내가 Dev.to에 올린 첫 번째 진정한 게시물이다.나는 너의 생각을 듣고 매우 기뻤다.

    좋은 웹페이지 즐겨찾기