메뉴 건너뛰기

유용한 팁

xe코어를 업데이트하는 방법은 여러가지 있습니다.

1. 쉬운 설치 : 코어의 경우 완전 비추입니다. 서버성능(설정)에 따라 또는 인터넷 회선 상황에 따라 에러날 가능성이 많습니다.

2. 피시로 다운 받아 압축을 풀어 ftp로 서버에 업로드

3. 피시로 다운 받아 압축파일을 ftp로 서버로 한 후 서버에서 압축을 푸는 방법.

제가 사용하는 방법입니다.

4. ssh로 서버에 접속한 후 코어파일을 직접 다운받아 압축을 풀어 적용합니다.

콘솔창에서

wget https://github.com/xpressengine/xe-core/releases/download/버전번호/xe파일명

1.8.20버전을 다운받는다면 다음과 같이 명령어를 칩니다.

wget https://github.com/xpressengine/xe-core/releases/download/1.8.20/xe.1.8.20.tar.gz

그 다음 아래 명령어로 웹루트 디렉토리에 압축을 풀어 사이트에 적용시킵니다.

tar xvfz xe.1.8.20.tar.gz -C 웹루트 디렉토리

xe가 /home/phiz/www에 설치되어 있다면

tar xvfz xe.1.8.20.tar.gz -C /home/phiz/www

 

git를 이용한 사이트 관리

 

git를 사용해서 코어 수정 또는 스킨 작성, 수정시 ftp를 사용하지 않고 git명령어로 바로 서버에 업로드하는 방법입니다.

리눅스 환경에서 기술합니다. 맥이나 윈도우에서도 내용은 같으니 각자 환경에서 적용할 수 있습니다.

 

서버측 :

웹루트디렉토리가 /home/phiz/www 라고 가정합니다.

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

cd /home/phiz

mkdir repo && repo

mkdir xe.git && xe.git

git init --bare

 

repo 디렉토리를 만들고, 그안에 저장소 디렉토리 xe.git를 만들고, xe.git를 git bare 저장소로 만들었습니다.

xe.git 안에 .git라는 디렉토리가 생성되었고 그안에 hooks라는 디렉토리가 있습니다.

이 hooks 디렉토리안에 post-receive라는 파일을 아래 내용으로 만들어 넣습니다.

 

#!/bin/sh
git --work-tree=/home/phiz/www --git-dir=/home/phiz/repo/xe.git checkout -f
 

그리고 실행파일로 만듭니다.

chmod +x post-receive

 

이로서 서버측 설정은 끝났습니다.

--work-tree 는 파일을 업로드할 디렉토리로 미리 만들어져 있어야 합니다.

--git-dir은 저장소가 있는 디렉토리입니다.

 

로컬(피시)측:

cd /my/workspace

작업할 디렉토리로 이동해서 코드를 작성할 디렉토리를 만듭니다.

mkdir project && cd project

git init

git remote add xe ssh://user@mydomain.com/home/phiz/repo/xe.git

 

로컬측 설정이 끝났습니다.

디렉토리 project를 만들고, project디렉토리를 git저장소로 만들고 리모트 저장소 xe를 추가합니다.

 

파일을 임의로 하나 만들어

 

git add --all

git commit -m "My project is ready"

git push xe master

 

한 후 서버에 확인해보면 임의로 만든 파일이 업로드 되어있는 것을 확인할 수 있습니다.

 

과정을 요약하면

피시의 git저장소 project에서 작업을 한 후

원격저장소 xe.git로 push하면 작업 내용이 xe.git로 저장되고 난 후 git의 hook기능으로  work 디렉토리의 내용을 최신 커밋한 내용으로 덮어씁니다.

 

실전 작업환경 구축.

 

코드를 수정 한 후 반드시 테스트과정을 거쳐야 합니다.

만일 잘못된 코드를 실 사이트에 업로드 한다면 귀찮은 일이 발생한 것이므로 반드시 확인 후 업로드하도록 합니다.

 

수정된 코드를 확인하기 위해서는 실사이트와 동일한 테스트 사이트를 만듭니다.

서브도메인을 하나 만들어 테스트 사이트를 만듭니다.

서버에 설치할 수도 있으나 피시 로컬환경에 구축하는 것이 안전합니다.

 

참조 : 피시에 서버환경 구축하기 (작성 중)

 

피시에서 master 브랜치는 항상 최종본을 유지하고 작업용 브랜치를 만들어 작업한 후 테스트 사이트에 업로드하여 테스트한 후 master 브랜치에 머지하고 실사이트에 업로드하는 과정을 거칩니다.

 

테스트 사이트에 업로드하기 위한 git bare저장소를 만듭니다.

mkdir test.git && cd test.git

git init --bare

post-receive 파일을 테스트 사이트에 업로드할 수 있도록 작성합니다.

 

피시에서

테스트 리모트 저장소를 등록합니다.

git remote add test /home/phiz/repo/test.git

 

작업용 develop브랜치를 만듭니다.

git branch develop

git checkout develop

develop브랜치에서 작업 후 테스트 사이트로 업로드합니다.

git push test develop:master

 

코드가 이상 없으면 master 브랜치로 머지합니다.

git checkout master

git merge develop

 

develop 브랜치를 삭제합니다.

git branch -d develop

 

실 사이트로 업로드합니다.

git push xe master