CLI V3 를 사용한 디플로이 방법
Railway CLIV3에서는 크게 변경 사항이 있습니다. 첫 번째로,railway init 시에 .env 파일을 읽어주지 않게 되었습니다. 두 번째로 환경 변수 설정 명령어인 railway variables set 를 입력 및 실행 할 수 없게 되었습니다. 왜 이런 개편(개악?)을 했는지는 모르겠습니다. (Discord 커뮤니티에서 질문해봤어요.보안이라든가의 영향일지도 모르겠습니다.)
그러면 CLIV3를 사용한 디플로이 방법에 대해 설명하겠습니다.기본적인 커맨드 조작은 V2와 큰 차이가 없습니다.우선은 Railway 커맨드로 인스톨하는 방법입니다.
Linux, macOS, Windows: GitBash 환경에서는 아래와 같이 명령어를 입력해줍니다.
curl -fsSL cli.new | sh
Windows 에서 PowerShell 을 사용하는 경우에는 Scoop 을 사용하여 인스톨합니다. 다음과 같이 명령어를 입력합니다. 실행 정책의 변경에 관해 물어볼텐데 Yes 라고 대답해주세요.
PS C:\Users\hoge> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
PS C:\Users\sato> irm get.scoop.sh | iex
Scoop was installed successfully! 라고 표시되면 문제가 없는 겁니다. 이어서 Railway CLI 의 설치입니다. 아, 이 작업은 powerShell(관리자)으로 합니다. (보통 PowerShell 이면 경로가 지나지 않거나 scoop 명령어가 실행되지 않아서 그렇습니다. 경로 설정이 귀찮습니다.
scoop install railway
'railway' (3.0.12) was installed successfully! 라고 표시되면 그대로 진행합니다. 이제는 Linux 환경에서의 디플로이에 대해 설명해보겠습니다. (Windows 등에서도 하는 작업은 대체로 동일합니다. PowerShell 을 사용하는 경우는 관리자 권한으로 실행해 주세요). 먼저 적당한 디렉토리를 작성하고 main.py , Dockerfile, requirements.txt 파일을 입력해 주세요.준비가 되면 다음 명령을 실행합니다. 명령어를 실행하면 URL에 접속하여 인증해달라고 하므로 URL에 접속하여 [Verify] 를 선택해주세요(PowerShell에서는 글자가 깨져서 어디서부터 어디까지가 URL인지 알 수 없습니다.필링으로 URL에 접속해 주세요).인증 후 Logged in as 사용자 이름(메일 주소)이 표시되어 있으면 별 문제 없습니다.
[web@localhost work]$ railway login --browserless
Your pairing code is: beneficial-snobbish-married-wall
To authenticate with Railway, please go to
https://railway.app/cli-login?d=d29yZENvZGU9YmVuZWZpY2lhbC1zbm9iYmlzaC1tYXJyaWVkLXdhbGwmaG9zdG5hbWU9bG9jYWxob3N0LmxvY2FsZG9tYWlu
🎉 Logged in as Pumila (hogehoge@gmail.com)
로그인 할 수 있으면 이하 커맨드를 실행해 주세요. Project Name 은 입력하지 않고 Enter 를 누르면 랜덤으로 생성됩니다 (또한 Project Name 을 입력할 때 BackSpace 키가 먹히지 않습니다.이 얼마나 불친절한 UI인가..)
[web@localhost work]$ railway init
> Project Name Will be randomly generated
Created project substantial-horses on Personal
https://railway.app/project/44317ae1-f06e-4bbd-a299-cd7090765f5f
마지막으로 railway up 명령어를 실행하여 디플로이해주세요. 디플로이가 되면 Railway Dashboard 에 접속하여 작성한 프로젝트의 서비스를 선택합니다. [Variables] 에서 환경변수를 추가해주세요. env 파일을 갖고 있다면 [RAW Editor] 그래서 복사하는 게 편할 겁니다. 추가하면 자동으로 다시 디플로이가 시작됩니다.
덧붙여 커맨드 실행시에 이하와 같은 에러가 표시되는 일이 있었습니다.
Unable to parse config file, regenerating
Error: Unauthorized. Please login with `railway login`
대응책으로 Linux 의 경우 ~/.railway/config.json 을 Windows 의 경우 C:\Users\hoge\.railway\config.json 을 삭제하고 재로그인 해 주세요.