Skip to content

6. 내가 만든 앱 올리기 ​

직접 만든 앱도 tidoly에서 바로 빌드하고 배포할 수 있습니다.

프로젝트 → Applications

Git 저장소를 연결해 코드를 올리거나, 이미 만들어 둔 이미지와 파일을 이용할 수도 있습니다.

앱을 올리는 순서 ​

처음 앱을 만들 때는 다음 순서로 진행합니다.

1. 앱을 만듭니다 ​

새 앱 을 누르고 앱 이름과 연결할 자원을 선택합니다.

2. 실행 환경을 준비합니다 ​

선택한 자원이 만들어지고 앱이 사용할 접속 정보와 환경변수가 준비됩니다.

이 단계에서는 아직 앱을 실행하지 않습니다.

3. 소스를 연결합니다 ​

사용할 저장소와 자격을 선택합니다.

아직 저장소가 없다면 새 저장소 만들기 (프로젝트 조직) 을 눌러 바로 만들 수 있습니다.

4. 코드를 올립니다 ​

화면에 표시되는 두 줄의 명령을 그대로 실행합니다.

git remote add → git push

복잡한 Git 설정을 따로 할 필요가 없습니다.

5. 빌드하고 배포합니다 ​

올리기 를 누르면 코드를 빌드하고 결과물을 배포합니다.

배포가 완료되면

앱이름.도메인

주소로 바로 접속할 수 있으며, HTTPS 인증서도 함께 적용됩니다.

따로 준비할 것이 없습니다

Dockerfile이 있다면 그대로 사용합니다.

Dockerfile이 없다면 소스의 언어와 프로젝트 구조를 확인해 적절한 빌드 방식으로 처리합니다.

프로젝트를 만들 때는 저장소의 조직과 빌드에 필요한 자격도 함께 준비됩니다.

따라서 저장소 주소나 토큰을 직접 입력할 필요가 없습니다.

앱을 처음 만들 때는 나중에 바꾸기 어려운 설정만 묻습니다.

이름 · 환경 · 연결할 자원

나머지 설정은 앱을 만든 뒤 필요할 때 변경할 수 있습니다.

Git 외에도 올릴 수 있습니다 ​

Git 저장소가 없어도 다른 방식으로 앱을 배포할 수 있습니다.

방식이런 경우에 사용합니다
파일 업로드이미 만들어 둔 산출물을 올릴 때 (JAR · Python · Node · 정적 사이트)
이미 있는 이미지외부에서 빌드한 컨테이너 이미지를 그대로 사용할 때
먼저 자리만 만들기코드보다 접속 정보나 실행 환경을 먼저 준비해야 할 때

필요한 자원은 연결만 하면 됩니다 ​

앱이 데이터베이스나 저장소를 사용한다면 앱에서 필요한 환경변수 이름만 지정하면 됩니다.

배포할 때 tidoly가 필요한 자원을 찾아 연결하고 접속 정보와 인증 정보를 앱에 주입합니다.

주소나 비밀번호를 직접 옮겨 적을 필요가 없습니다.

어떤 자원을 연결할 수 있는지와 연결 방법은 → 8장 · 자원 연결하기

이미 설치된 자원이 있다면 그것을 재사용합니다.
같은 자원을 다시 설치하지 않습니다.

→ 5장 · 한 번만 설치하면 되는 것들

나중에 연결을 바꿀 수도 있습니다 ​

앱을 만든 뒤에도 연결된 자원을 변경할 수 있습니다.

앱 → 설정 → 의존 자원 설정 → 자원 추가

에서 새로운 자원을 연결하거나 기존 연결을 끊을 수 있습니다.

의존 자원 설정 — 앱을 만든 뒤에도 자원을 추가하거나 연결을 끊을 수 있습니다

연결을 끊는다고 데이터까지 삭제되지는 않습니다.

앱과 자원의 연결만 해제됩니다. 남아 있는 데이터는 필요에 따라 3장 · 지운 뒤에 남는 데이터에서 정리할 수 있습니다.

또한 코드보다 접속 정보가 먼저 필요한 경우에도 이 기능을 사용할 수 있습니다.

자원만 연결해 두면 앱을 실행하지 않은 상태에서도 접속 정보를 준비할 수 있습니다.
이 정보를 받아 로컬 컴퓨터에서 먼저 개발할 수도 있습니다.

→ 로컬에서 띄우기

내 컴퓨터에서 먼저 실행하기 ​

배포하기 전에 내 컴퓨터에서 같은 앱을 실행해 볼 수도 있습니다.

앱 화면에서 .env.local 을 내려받으면 현재 앱에 주입되는 환경변수가 그대로 들어 있습니다.

로컬에서 이 앱 띄우기 — 현재 앱에 주입되는 환경변수를 그대로 내려받습니다

코드를 수정할 필요가 없습니다

로컬에서도 클러스터의 주소를 그대로 사용합니다.

따라서 로컬 컴퓨터에서 클러스터에 접근하려면 VPN 연결이 필요합니다.

→ 고급 설정 · 노트북에서 클러스터에 붙기

.env.local에는 비밀번호가 포함될 수 있습니다

다운로드한 파일을 Git 저장소에 커밋하지 마세요.

이 파일에는 실제 접속 정보와 비밀번호가 포함될 수 있습니다.

파일이 유출되었다면 해당 자격을 교체해야 하며, 자격이 변경되면 이를 사용하는 앱이 다시 시작될 수 있습니다.

보안을 위해 prod 환경에서는 .env.local을 내려받을 수 없습니다.

로컬 개발이 필요하다면 개발 환경에서 사용하세요.

→ 고급 설정 · 환경 나누기

다시 빌드하고 배포하기 ​

한 번 배포한 앱은 같은 설정으로 다시 빌드하거나, 이번 빌드에서만 다른 브랜치나 태그를 사용할 수 있습니다.

기능할 수 있는 일
다시 빌드저장된 저장소 · 브랜치 · 빌드 경로를 그대로 사용합니다.
이번만 다른 브랜치저장된 설정은 유지하고 이번 빌드에서만 다른 브랜치나 태그를 사용합니다.
취소 · 로그진행 중인 빌드를 중단하거나 실행 과정을 확인합니다.

빌드 탭에는 현재 저장된 설정과 이전 빌드 이력이 모여 있습니다.

빌드 & 배포 를 누르면 저장된 설정으로 다시 빌드하고 배포합니다.

코드를 올리면 자동으로 빌드할 수도 있습니다

저장소의 웹훅을 설정하면 코드가 올라올 때마다 자동으로 빌드하고 배포하도록 할 수 있습니다.

빌드 화면에 표시되는 웹훅 주소와 비밀값을 저장소의 웹훅 설정에 등록하면 됩니다.

또한 빌드 버튼은 실행하기 전에 현재 빌드할 수 있는 상태인지 확인합니다.

실행할 수 없는 경우에는 빌드를 시작했다가 실패하는 대신, 먼저 그 이유를 알려줍니다.

빌드 탭 — 웹훅 안내 · 저장된 설정 · 빌드 이력 · 현재 실행 중인 로그를 확인합니다

어떤 방식으로 빌드했는지도 확인할 수 있습니다

로그 첫머리에 실제 빌드 방식을 표시합니다.

예를 들어

Dockerfile 없음 → CNB가 빌드

처럼 어떤 빌드 방식이 선택되었는지 확인할 수 있습니다.

Dockerfile이 있으면 Dockerfile 기반 빌드가 사용됩니다.

빌드 이력에는 SUCCEEDED · RUNNING · CANCELLED 등의 상태와 실행 시각, 소요 시간, 실행한 사람이 함께 기록됩니다.

배포한 앱을 관리합니다 ​

배포가 끝난 뒤에도 앱 화면 하나에서 운영에 필요한 기능을 관리할 수 있습니다.

기능할 수 있는 일
로그 · 지표현재 앱에서 무슨 일이 일어나고 있는지 확인합니다.
개수 조절 · 재시작트래픽에 맞춰 실행 개수를 조절하거나 앱을 다시 시작합니다.
환경변수 · 설정 파일실행 환경의 값을 변경하고 변경 이력을 확인합니다.
버전 이력이전 배포 버전을 확인하고 되돌립니다.
환경 승격dev에서 확인한 버전을 prod로 승격합니다.
배포 토큰외부 도구에서 배포를 요청할 때 사용합니다.

환경변수 값만 변경하기 ​

이미 등록된 환경변수의 값만 변경할 때는 다시 빌드하거나 다시 배포할 필요가 없습니다.

관리 → 환경변수에서 값을 변경하면 됩니다.

환경변수 값 고치기 — 변경된 내용과 이력이 함께 표시됩니다

변경 이력이 남기 때문에 각 변경을 눌러 무엇이 어떻게 바뀌었는지 확인할 수 있습니다.

환경변수의 종류에 따라 관리하는 곳이 다릅니다

새로운 환경변수 이름을 추가하거나 환경변수 파일 전체를 반영하려면

설정 → 환경변수 설정

을 사용합니다.

자원이 연결되면서 자동으로 주입되는 값은 여기서 직접 수정하지 않습니다.

연결된 자원이 변경되면 필요한 값도 자동으로 따라갑니다.

→ 8장 · 자원 연결하기

비밀번호나 API 키 같은 비밀값은 코드나 설정 파일에 넣지 말고 환경변수로 관리하세요.

이전 버전으로 되돌리기 ​

배포 이력 — 되돌릴 버전과 환경 승격을 한 화면에서 관리합니다

배포 이력에서 원하는 버전을 선택해 Rollback → 으로 되돌릴 수 있습니다.

되돌린 배포에는 rollback of … 기록이 남기 때문에 어떤 버전에서 되돌렸는지도 나중에 확인할 수 있습니다.

pinned (retained)로 표시된 버전은 자동 정리 대상에서 제외됩니다.

문제가 생겼을 때 ​

비공개 저장소를 사용하려면 자격이 필요합니다

tidoly가 접근할 수 없는 비공개 저장소는 자격 없이 저장하지 않습니다.

저장소에 필요한 자격이 무엇인지 안내하므로, 해당 자격을 먼저 등록한 뒤 다시 연결하면 됩니다.

앱을 삭제해도 데이터는 바로 삭제되지 않습니다

앱을 삭제해도 연결되어 있던 저장 데이터는 남을 수 있습니다.

실수로 데이터를 잃지 않도록 하기 위한 동작입니다.

남은 데이터가 더 이상 필요하지 않을 때는 Storage에서 직접 정리할 수 있습니다.

→ 3장 · 지운 뒤에 남는 데이터

다음 → 7. 외부 시스템 연동

내 장비를 클라우드처럼.