Flynn은 컨테이너 환경에서 애플리케이션과 데이터베이스를 실행, 확장 및 관리하기 위해 설계된 오픈소스 PaaS(Platform-as-a-Service)입니다.
일반적인 워크플로
- Flynn 클러스터 실행 (AWS, DigitalOcean 또는 Vagrant)
flynn cluster add로 클러스터 자격 증명 추가flynn create <app_name>으로 애플리케이션 생성- git으로 배포:
git push flynn master
클러스터 관리
설치 및 클러스터 설정
flynn install # AWS EC2 또는 클라우드에 Flynn 프로비저닝
flynn key add # SSH 공개 키를 클러스터에 추가
클러스터 자격 증명 (~/.flynnrc)
flynn cluster # 구성된 클러스터 목록 조회
flynn cluster add [-g githost] [-p pin] NAME URL KEY # 로컬 CLI를 클러스터에 연결
flynn cluster remove NAME # 클러스터 구성 제거
flynn cluster default NAME # 활성 기본 클러스터 지정
애플리케이션 수명 주기
새 앱 설정
cd ~/my-project
flynn create example # 'flynn'이라는 git 원격 저장소 추가
flynn route # 기본 HTTP 라우트 확인
git push flynn master # 코드 빌드 및 배포
CLI 명령어
환경 변수
flynn env # 모든 환경 변수 나열
flynn env set KEY=value FOO=bar# 설정 변수를 지정하고 배포 트리거
flynn env unset KEY # 설정 변수 제거
flynn env get KEY # 특정 설정 값 출력
프로세스 스케일링
flynn scale web=3 worker=2 # web을 3개, worker를 2개로 확장
flynn scale # 현재 실행 중인 프로세스 수 표시
flynn ps # 모든 개별 컨테이너 인스턴스 나열
로그 및 모니터링
flynn log # 실시간 통합 클러스터 로그 출력
flynn log -f # 실시간 스트림 팔로우
flynn log --process=web # 프로세스 유형별 로그 필터링
명령 및 일회성 작업 실행
flynn run bash # 컨테이너 내부에서 대화형 bash 셸 열기
flynn run rake db:migrate # 일회성 데이터베이스 마이그레이션 실행
도메인 및 라우트 관리
flynn route # 모든 HTTP / TCP 라우트 나열
flynn route add http app.domain.com # 앱에 사용자 지정 도메인 연결