코드이그나이터4 클라우드에 배포하기 - 3 - 소스코드 배포하기

고은연·2021년 11월 16일
0

파일을 서버로 옮기는 여러가지 방법

로컬에 있는 파일을 원격 리눅스 서버로 옮기는 방법은 여러가지가 있습니다.

FTP를 이용해 파일을 옮기는 방법이 가장 단순합니다.
하지만 지금처럼 배포자동화가 당연시된 시대에서 FTP는 왠지 시대의 흐름을 역행하는 것 같아 찝찝할 수도 있습니다.

scp는 리눅스에서 원격서버간에 파일을 옮기는 방법입니다. 단순하게 파일을 복사합니다.

git은 우리의 로컬 서버와, 리눅스 서버 둘 다 git 서버에 접속할 수 있다는 점을 이용해, 로컬 파일 push -> 서버에서 pull 하는 방법입니다.
이를 조금 더 복잡하게 응용하면 젠킨스, envoy 등을 이용해 git에 push될 경우 자동으로 서버에 배포되게 할 수 있습니다.
우리는 지속적인 통합 - 배포 (CI CD - Continuous Integration, Continuous Delivery & Continuous Deployment) 까지 구성하지는 않겠지만, 그 기초가 되는 방법을 익히고자 git을 사용해 보겠습니다.

git 디렉토리 설정하기

웹콘솔 혹은 ssh를 이용해 서버로 접속합니다.
홈 디렉토리로 이동합니다.

cd /home/bitnami

git과 연동되는 디렉토리를 생성합니다.

mkdir markdown-blog

생성된 디렉토리로 이동합니다.

cd markdown-blog

git에서 코드를 clone합니다.

git clone https://github.com/koeunyeon/ci4.git

다음부터는 코드 변경사항을 가져오려면 pull을 하면 됩니다.

cd /home/bitnami/markdown-blog/ci4
git pull

{repo 이름}/ 아래에 실제 코드를 clone하므로 markdown-blog 가 아니라 markdown-blog/ci4 에서 pull 해야 한다는 것만 기억하면 됩니다.

파일 복사하기

/home/bitnami/ 디렉토리에서 ls -al 로 파일 목록을 보면, htdocs 디렉토리가 /opt/bitnami/apache2/htdocs로 링크가 걸려있는 것을 확인할 수 있습니다.

bitnami@:~$ ls -al
total 44
drwxr-xr-x 4 bitnami bitnami 4096 Oct 27 10:12 .
drwxr-xr-x 3 root    root    4096 Oct  8 19:01 ..
-rw------- 1 bitnami bitnami    8 Oct 27 09:31 .bash_history
-rw-r--r-- 1 bitnami bitnami  220 Apr 18  2019 .bash_logout
-rw-r--r-- 1 bitnami bitnami 4146 Oct 27 09:14 .bashrc
-rw------- 1 bitnami bitnami   13 Oct 27 09:15 bitnami_application_password
-r-------- 1 bitnami bitnami  401 Oct 27 09:15 bitnami_credentials
lrwxrwxrwx 1 bitnami bitnami   27 Oct  8 19:08 htdocs -> /opt/bitnami/apache2/htdocs
drwxr-xr-x 3 bitnami bitnami 4096 Oct 27 10:13 markdown-blog
-rw-r--r-- 1 bitnami bitnami 1427 Oct 27 09:14 .profile
drwx------ 2 bitnami bitnami 4096 Oct 27 09:14 .ssh
lrwxrwxrwx 1 bitnami bitnami   12 Oct  8 19:08 stack -> /opt/bitnami

비트나미 스택에서 기본 웹 루트의 경로는 /opt/bitnami/apache2/htdocs 입니다. 따라서 일반적으로는 git에서 다운로드한 파일을 /opt/bitnami/apache2/htdocs로 파일을 복사하면 됩니다.
다만, 코드이그나이터4 같은 경우 웹 루트가 app이 있는 디렉토리가 아니라 /public 디렉토리죠. 그래서 프로젝트 루트를 만들고, 아파치가 가리키는 웹 루트 디렉토리를 변경해 보겠습니다.

먼저 프로젝트 루트 디렉토리를 생성합니다.

cd /opt/bitnami/apache2/htdocs
mkdir markdown-blog

git에서 내려받은 프로젝트 파일 전부를 /opt/bitnami/apache2/htdocs/markdown-blog로 복사합니다.

cp /home/bitnami/markdown-blog/ci4/src/sample/* /opt/bitnami/apache2/htdocs/markdown-blog/ -r

잘 복사되었는지 확인합니다.

ls /opt/bitnami/apache2/htdocs/markdown-blog

결과는 아래와 같습니다.

app  builds  composer.json  composer.lock  env  LICENSE  phpunit.phar  phpunit.xml.dist  public  README.md  rest_test  spark  tests  vendor  writable
profile
중년 아저씨. 10 + n년차 백엔드 개발자. 스타트업과 창업, 솔로프리너와 1인 기업에 관심 많아요.

2개의 댓글

comment-user-thumbnail
2021년 12월 10일

이방법도 있었네요 ㅋㅋ 저는 php스톰에서 바로 업로드하거나 aws 명령어로 cmd 통해서 바로 옮기는방법이 있더라구요~ 쨌든 깃을 통해서 업로드 하는것도 좋을것 같군요

1개의 답글