무료로 시작하기
← 전체 가이드

코드 연결: 실제 코드베이스를 변경, 확인, 승인, 배포, 롤백하세요

코드 연결(/projects/connect/code)은 aiKit 프로젝트를 이미 사용 중인 Git 저장소(예: GitHub의 Laravel 앱)와 실행 위치(직접 운영하는 서버 또는 aiKit 호스팅)에 연결합니다. 이후 프로젝트의 호스팅 탭에서 평범한 말로 변경을 요청할 수 있습니다. aiKit의 AI는 코드 사본을 수정하고, 프로젝트의 검사를 실행한 뒤, 변경 내용(diff)과 미리보기를 보여 줍니다. 팀원이 승인해야만 배포됩니다. 배포할 때마다 번호가 매겨진 릴리스가 생기며, 클릭 한 번으로 되돌릴 수 있습니다. 저장소가 여전히 기준이 되며, 서버는 지금까지 해 온 방식 그대로 배포합니다.

코드 연결 →
1

1단계와 2단계: 프로젝트 이름 짓기와 저장소 연결

프로젝트 이름을 입력한 다음, GitHub의 녹색 Code 버튼에서 복사한 저장소 주소와 사이트가 실행되는 브랜치(보통 main)를 붙여 넣으세요. aiKit이 저장소에 접근하는 방법을 선택합니다. GitHub 토큰: 이 저장소 하나만 대상으로 GitHub에서 만든 세분화된 토큰이며, Contents 권한을 읽기 및 쓰기로 설정합니다. https:// 주소와 함께 사용합니다. 배포 키: 이 저장소만을 위해 만든 키 쌍으로, 공개 키를 저장소의 Settings, Deploy keys에 추가하고 Allow write access를 체크합니다. git@ 주소와 함께 사용합니다. 공개 저장소: 읽기 전용이므로 승인된 변경 사항을 저장할 곳이 없습니다. 둘러보기 용도로만 사용하세요.

토큰이나 키는 직접 붙여 넣습니다. 암호화되어 aiKit의 엔진에 저장되며, 다시 표시되지 않고 누구에게도 보이지 않습니다. 이 페이지에는 지문(fingerprint)만 표시됩니다. 저장소 연결을 누르면 코드가 엔진으로 복사되고, 프로젝트 종류(Laravel, JavaScript 또는 정적 파일)를 확인합니다. 저장소의 내용은 전혀 변경되지 않습니다.

이미 가지고 있는 프로젝트도 연결할 수 있습니다. 소유자는 호스팅 탭에서 코드 연결을 볼 수 있습니다.

2

3단계: 실행 위치

직접 운영하는 서버: 사이트는 현재 위치 그대로 유지됩니다. 서버 주소, SSH 포트(보통 22), aiKit이 사용할 로그인 계정(설정 단계에서 만든 aikit), 사이트 폴더(Laravel Forge 사이트라면 /home/forge/your-site.com), 사이트에서 이미 사용 중인 배포 명령(보통 bash scripts/deploy.sh), 배포 후 응답해야 하는 페이지의 전체 주소를 한 줄에 하나씩 입력하세요. 서버 로그인의 개인 키(설정 1단계에서 만든 키)를 붙여 넣습니다. 저장한 뒤 연결을 확인하세요.

aiKit이 처음 서버에 접속하면 서버의 지문을 보여 주고 "이 서버가 맞습니까?"라고 묻습니다. 설정 6단계에서 서버가 출력한 값과 비교하세요. 두 값이 동일할 때만 "일치합니다"를 누르고 연결하세요. 이후 같은 주소에서 다른 서버가 응답하면 연결이 거부됩니다. 확인이 통과하면 페이지에 서버에서 지금 실행 중인 버전이 표시됩니다.

aiKit 호스팅: aiKit이 코드를 직접 빌드하고 제공하며, 시작용 무료 주소가 제공됩니다. 사이트와 프론트엔드에 가장 적합합니다.

3

서버 설정(한 번만 진행, 약 10분 소요)

서버 설정 아래에 복사하여 붙여 넣을 수 있는 8단계가 나열되며, 여러분의 값이 이미 채워져 있습니다. 각 단계에는 복사 버튼이 있습니다. 1단계와 8단계는 여러분의 컴퓨터에서, 2단계부터 7단계까지는 sudo 권한이 있는 사용자로 서버에서 실행합니다.

설정으로 만들어지는 것: 비밀번호와 셸이 없는 로그인 계정입니다(2단계). 이 계정의 키는 작은 게이트 스크립트(3단계와 5단계)에만 연결되며, 정확히 두 가지 명령만 허용합니다. status(실행 중인 버전과 사이트가 유지 보수 모드인지 여부)와 특정 커밋 하나에 대한 deploy입니다. deploy는 사이트 자체 사용자 권한으로, 하나의 sudo 규칙을 통해 실행되며, GitHub의 브랜치가 정확히 그 커밋을 가리키는지 확인한 다음 기존 배포 스크립트를 변경 없이 실행합니다. 4단계에서는 폴더 권한을 설정하여 이 로그인이 사이트 폴더에만 접근하도록 합니다. 같은 홈 폴더의 다른 사이트에는 접근할 수 없고, .env 파일에도 절대 접근할 수 없습니다. 7단계에서는 이 모든 것을 테스트하고 각 줄에서 무엇이 보여야 하는지 알려 줍니다. 8단계에서는 여러분의 컴퓨터에서 로그인 계정을 테스트한 뒤, 그 키를 aiKit에 붙여 넣습니다.

서버가 다른 업체의 사이트도 호스팅한다면 이 점이 중요합니다. aiKit 로그인 계정은 이 사이트 하나만 배포할 수 있고 다른 것은 할 수 없습니다. 사이트 코드는 여전히 사이트 사용자 권한으로 실행됩니다. 이는 GitHub에서 직접 배포할 때와 똑같습니다. 그래서 모든 변경 사항을 검토하고, 위험한 파일은 보호됩니다.

4

코드 프로젝트의 호스팅 탭

상단에 네 개의 타일이 있습니다. 저장소: 저장소, 브랜치, 최신 커밋, 프로젝트 종류. 실행 위치: 직접 운영하는 서버(로그인 계정과 마지막 응답 시각 포함) 또는 aiKit 호스팅. 현재 릴리스: 사이트가 실행 중인 릴리스, 만든 사람, 만든 시각. 페이지: 마지막 확인 때 응답해야 하는 페이지 중 몇 개가 응답했는지 표시합니다. 지금 확인을 누르면 페이지를 다시 방문하며, 응답하지 않은 페이지는 반환된 내용과 함께 아래에 나열됩니다.

타일 아래: 변경 요청(또는 현재 진행 중인 변경), 릴리스, 변경 기록, 보호된 파일, 그리고 소유자에게만 보이는 연결 항목이 있습니다.

5

변경 요청, 검토, 승인

바꾸고 싶은 내용을 입력하세요. 페이지 이름과 원하는 결과를 함께 적고 변경하기를 누릅니다. 카드가 실시간 진행 상황이 표시된 변경 #1로 바뀌며, 최신 코드 가져오기, AI가 읽고 수정하는 파일, 각 검사 순으로 진행됩니다. AI는 파일만 수정하며 명령은 실행하지 않습니다. 프로젝트마다 한 번에 하나의 변경만 열려 있으며, 각 요청은 프로젝트의 AI 사용 한도에 포함됩니다.

완료되면 다음 내용이 표시됩니다. 요청 내용과 요청한 사람, AI가 수행했다고 밝힌 작업, 각 검사 결과(체크 또는 X 표시와 출력 내용), 확인된 페이지의 미리보기 버튼, 추가됨, 변경됨, 삭제됨으로 표시된 파일 목록(해당하는 경우 보호됨 배지 포함), 파일별 변경 내용(diff)으로 추가된 줄은 초록색, 삭제된 줄은 빨간색으로 표시됩니다. 이 diff가 바로 커밋되어 배포될 내용입니다.

승인 및 배포(소유자 및 빌더)를 누르면 변경 사항을 요청자와 승인자를 명시한 메시지와 함께 브랜치에 커밋하고, 강제로 푸시하지 않고 푸시합니다(다른 사람이 그사이 푸시했다면 변경 사항은 오래됨으로 표시되며 아무것도 배포되지 않습니다). 그런 다음 배포하고 페이지를 확인합니다. 버리기를 누르면 확인 후 변경 사항이 삭제되며 아무것도 배포되지 않습니다. 검토자는 모든 내용을 볼 수 있지만 두 버튼 모두 누를 수 없습니다.

검사 통과 후 자동 배포는 연결, 검사 및 검토 아래의 설정입니다. 승인 대기가 기본값입니다. 자동 배포를 선택하면 모든 검사가 통과하고 보호된 파일이 변경되지 않은 경우에만 변경 사항을 스스로 배포하며, 그 밖의 경우에는 여전히 대기합니다.

6

검사 및 미리보기

Laravel 프로젝트의 검사 항목은 다음과 같습니다. 변경된 모든 PHP 파일의 구문 분석(php -l), 모든 Blade 뷰의 컴파일(php artisan view:cache), 프런트엔드 빌드(npm run build), 그리고 저장소에서 마이그레이션과 시드를 적용한 일회용 SQLite 데이터베이스로 테스트 실행을 하여 앱을 시작하고 페이지에 지정된 각 페이지가 200 응답을 반환하는지 확인합니다. 검사는 aiKit의 엔진에서 실행되며, 여러분의 서버나 실제 데이터베이스에서는 절대 실행되지 않습니다. 프로젝트의 .env 파일은 복사되거나 읽히지 않으며, 테스트 실행에는 일회용 설정이 적용됩니다.

검사에 실패하면 승인이 차단됩니다. 소유자만 검사가 실패했더라도 실제 사이트에 영향을 주지 않는 이유로 실패한 검사에 대해 배포를 체크할 수 있습니다.

미리보기는 테스트 실행에서 변경된 앱을 테스트 데이터와 양식 비활성화 상태로 새 탭에서 엽니다. 마지막 사용 후 15분이 지나면 중지되며, 변경 사항이 승인되거나 버려지면 종료됩니다.

7

보호된 파일

AI는 보호된 파일을 건드리지 않습니다. 목록은 다음으로 시작합니다. 실제 사이트에서 이미 실행된 마이그레이션(매 배포마다 실행되므로 실제 릴리스의 모든 마이그레이션), 새 마이그레이션(다음 배포 때 실제 데이터베이스를 변경하게 됨), 배포 스크립트, 그리고 의존성 파일(composer.json, composer.lock, package.json, package-lock.json)입니다. 각 항목에는 이유가 표시됩니다. 소유자는 이유와 함께 파일이나 폴더를 추가하거나(config/**는 config 아래의 모든 항목을 의미함), 항목을 삭제하고 보호된 파일 저장을 누를 수 있습니다.

보호된 파일을 의도적으로 변경하려면 소유자가 이 요청에 대해 보호된 파일 허용을 선택합니다. 그러면 변경 사항에 건드린 보호된 파일이 표시되고, 보호된 파일 변경 사항을 배포함에 체크한 후에만 소유자가 승인할 수 있습니다. 아무것도 선택하지 않은 빌더는 보호된 파일에 접근할 수 없습니다.

.env 파일, 개인 키 및 auth.json은 더 엄격한 등급에 속합니다. 읽지도, 변경하지도, 차이점에 포함되지도 않으며, 누구도 이를 끌 수 없습니다.

8

릴리스, 배포 및 롤백

aiKit이 처음 서버에 접속하면 서버에서 실행 중인 상태를 릴리스 1, aiKit 이전으로 기록하므로 aiKit의 첫 배포도 롤백할 수 있습니다. 그 이후의 모든 배포는 번호가 매겨진 릴리스가 되며, 변경(승인된 변경 사항, 이름을 누르면 해당 변경이 열림), 재배포 또는 롤백으로 구분되고, 커밋, 실행한 사람, 상태(실행 중, 이전, 실행 중이지만 페이지 오류, 배포 실패), 응답한 페이지 수, 배포 로그가 함께 표시됩니다. aiKit은 최근 5개를 보관합니다.

최신 코드 배포는 확인 후 예를 들어 누군가 수정 사항을 직접 푸시한 경우처럼 지금 브랜치에서 가장 최신인 코드를 배포합니다.

이 버전으로 롤백은 이전 릴리스를 대상으로 하며, 파일이 정확히 그 릴리스의 파일과 같은 새 커밋을 만들고, 이를 푸시한 뒤 일반적인 방식으로 배포하고 페이지를 확인합니다. 기록은 결코 다시 쓰이지 않으므로 롤백 자체도 롤백할 수 있습니다.

9

변경 기록

번호, 요청 내용, 요청자, 승인 또는 폐기한 사람, 시각, 현재 상태가 포함된 모든 요청이 표시됩니다. 행을 누르면 검사와 차이점이 포함된 해당 변경이 열리며, 주소에 ?change=<id>가 추가되어 팀과 링크를 공유할 수 있습니다.

다음 가이드 Printer’s Helper 소개: 용도와 한계

더 빠르게 답을 찾고 싶은 질문이 있나요? 자주 묻는 질문 보기