개발 도구 자식 Github 프로젝트를 서버에 배포하는 단계에 대한 자세한 설명

Github 프로젝트를 서버에 배포하는 단계에 대한 자세한 설명

Mar 27, 2023 am 10:53 AM
git github

Github은 현재 세계에서 가장 큰 오픈 소스 커뮤니티입니다. 많은 프로그래머가 Github의 편리한 버전 관리 및 협업 기능을 사용하기 위해 자신의 코드를 호스팅할 것입니다. 그러나 Github의 프로젝트는 단지 코드일 뿐이며 실행을 위해 서버에 배포하려면 추가 작업이 필요합니다. 이 문서에서는 구체적인 단계를 소개합니다.

1. 서버에 로그인합니다.

SSH를 사용하여 원격으로 연결하고 다음 명령을 입력합니다.

ssh root@your_server_ip
로그인 후 복사

2. 필요한 소프트웨어를 설치합니다.

Git 및 Node.js를 서버에 설치합니다. Ubuntu 시스템을 예로 들어 다음 명령을 실행합니다.

sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs
로그인 후 복사

3. 서버에 Git 저장소를 만듭니다.

서버에 빈 디렉터리를 만들고 그 안에 Git 저장소를 초기화한 후 다음 명령을 실행합니다.

mkdir myapp
cd myapp
git init --bare
로그인 후 복사

4. Git Hooks 설정

Git 저장소에 post-receive 후크를 추가하여 애플리케이션을 자동으로 배포합니다.

cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive
로그인 후 복사

열린 텍스트 편집기에 다음 내용을 입력하세요.

#!/bin/bash
git --work-tree=/var/www/html/myapp --git-dir=/root/myapp.git checkout -f
cd /var/www/html/myapp
sudo npm install
로그인 후 복사

The 스크립트는 자동으로 /var/www/html/myapp의 코드를 체크아웃하고 npm install 명령을 실행하여 프로젝트 종속성을 설치합니다.

5. Github에서 웹훅 구성

Github에 로그인하고 프로젝트 설정 페이지에서 웹훅 옵션을 클릭한 다음 웹훅 추가 버튼을 클릭하세요. 페이로드 URL에 서버의 IP 주소와 수신 후 후크 경로를 입력합니다(예: http://your_server_ip:8000/hooks/post-receive). 콘텐츠 유형에서 application/json을 선택하고 웹훅 추가를 클릭합니다.

6. 로컬 코드에 서버 주소 추가

로컬 코드에서 package.json 파일을 수정하고 다음 콘텐츠를 추가합니다.

{
  "scripts": {
    "start": "node app.js",
    "deploy": "git push deploy master"
  },
  "config": {
    "deploy": {
      "production": {
        "user": "root",
        "host": "your_server_ip",
        "ref": "origin/master",
        "repo": "ssh://git@your_server_ip:/root/myapp.git",
        "path": "/var/www/html/myapp",
        "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
        "post-deploy": "npm install && pm2 restart app"
      }
    }
  }
}
로그인 후 복사

그중 배포 스크립트는 코드를 myapp.git에 푸시합니다. 서버의 창고; 서버의 IP 주소, 프로젝트 경로, 후크 경로 등을 포함하여 일부 구성 항목은 config/deploy/production에 정의됩니다.

7. 코드 배포 실행

로컬 코드 디렉터리에서 다음 명령을 실행합니다.

npm run deploy production
로그인 후 복사

이 명령은 코드를 서버에 푸시하고 수신 후 후크를 트리거하며 자동으로 코드를 /var/에 배포합니다. www/html /myapp 디렉토리.

8. 애플리케이션 시작

/var/www/html/myapp 디렉토리로 이동하고 다음 명령을 실행하여 애플리케이션을 시작합니다.

npm start
로그인 후 복사

이제 애플리케이션이 서버에서 실행될 수 있습니다! 애플리케이션이 시작되지 않으면 종속성이 올바르게 설치되었는지, 애플리케이션이 올바르게 구성되었는지 확인해야 합니다.

요약:

위는 Github의 프로젝트를 서버에 배포하는 단계입니다. 이 프로세스가 지루해 보일 수 있지만 이 접근 방식을 사용하면 효율적인 코드 배포 및 공동 작업이 가능합니다. 동시에 Git, Node.js 및 기타 기술에 대해 더 깊이 이해할 수 있는 훌륭한 학습 기회도 제공합니다.

위 내용은 Github 프로젝트를 서버에 배포하는 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

Redis Stream을 사용하여 GO Language에서 메시지 대기열을 구현할 때 User_ID 유형 변환 문제를 해결하는 방법은 무엇입니까? Redis Stream을 사용하여 GO Language에서 메시지 대기열을 구현할 때 User_ID 유형 변환 문제를 해결하는 방법은 무엇입니까? Apr 02, 2025 pm 04:54 PM

Go Language에서 메시지 대기열을 구현하기 위해 Redisstream을 사용하는 문제는 Go Language와 Redis를 사용하는 것입니다 ...

H5 페이지 생산에는 지속적인 유지 보수가 필요합니까? H5 페이지 생산에는 지속적인 유지 보수가 필요합니까? Apr 05, 2025 pm 11:27 PM

코드 취약점, 브라우저 호환성, 성능 최적화, 보안 업데이트 및 사용자 경험 개선과 같은 요소로 인해 H5 페이지를 지속적으로 유지해야합니다. 효과적인 유지 관리 방법에는 완전한 테스트 시스템 설정, 버전 제어 도구 사용, 페이지 성능을 정기적으로 모니터링하고 사용자 피드백 수집 및 유지 관리 계획을 수립하는 것이 포함됩니다.

XML을 Excel로 변환하는 방법 XML을 Excel로 변환하는 방법 Apr 03, 2025 am 08:54 AM

XML을 Excel로 변환하는 두 가지 방법이 있습니다 : 내장 Excel 기능 또는 타사 도구 사용. 타사 도구에는 XML to Excel Converter, XML2Excel 및 XML Candy가 포함됩니다.

GO 프로그래밍에서 MySQL과 Redis 간의 연결을 올바르게 관리하고 릴리스하는 방법은 무엇입니까? GO 프로그래밍에서 MySQL과 Redis 간의 연결을 올바르게 관리하고 릴리스하는 방법은 무엇입니까? Apr 02, 2025 pm 05:03 PM

GO 프로그래밍의 자원 관리 : MySQL 및 Redis는 특히 데이터베이스 및 캐시를 통해 리소스를 올바르게 관리하는 방법을 배우는 데 연결 및 릴리스 ...

혼자서 H5 페이지를 만드는 방법을 배울 수 있습니까? 혼자서 H5 페이지를 만드는 방법을 배울 수 있습니까? Apr 06, 2025 am 06:36 AM

자기 연구 H5 페이지 제작은 가능하지만 빠른 성공은 아닙니다. 디자인, 프론트 엔드 개발 및 백엔드 상호 작용 로직을 포함하는 HTML, CSS 및 JavaScript 마스터 링이 필요합니다. 연습은 핵심이며, 튜토리얼을 작성하고, 자료를 검토하고, 오픈 소스 프로젝트에 참여하여 배우십시오. 성능 최적화도 중요하며 이미지 최적화, HTTP 요청을 줄이고 적절한 프레임 워크를 사용해야합니다. 자기 학습으로가는 길은 길고 지속적인 학습과 의사 소통이 필요합니다.

AI 도구를 사용하여 React Vite 프로젝트에서 전경 페이지를 신속하게 구축하는 방법은 무엇입니까? AI 도구를 사용하여 React Vite 프로젝트에서 전경 페이지를 신속하게 구축하는 방법은 무엇입니까? Apr 04, 2025 pm 01:45 PM

백엔드 개발에서 프론트 엔드 페이지를 신속하게 구축하는 방법은 무엇입니까? 그는 3-4 년의 경험을 가진 백엔드 개발자로서 기본 JavaScript, CSS 및 HTML을 마스터했습니다.

See all articles