Mulai gratis
← Semua panduan

Hubungkan kode Anda: ubah, periksa, setujui, deploy, dan kembalikan basis kode sungguhan

Hubungkan kode (/projects/connect/code) menautkan proyek aiKit ke repositori Git yang sudah Anda miliki, seperti aplikasi Laravel di GitHub, serta ke tempat aplikasi itu berjalan: server Anda sendiri, atau hosting aiKit. Setelah itu, Anda meminta perubahan dengan kata-kata biasa di tab Hosting proyek. AI aiKit mengedit salinan kode, menjalankan pemeriksaan proyek, menampilkan perbedaannya dan pratinjau, lalu melakukan deploy hanya setelah seseorang di tim Anda menyetujui. Setiap deploy adalah rilis bernomor yang bisa Anda kembalikan dengan satu klik. Repositori Anda tetap menjadi sumber utama, dan server Anda terus melakukan deploy seperti biasa.

Hubungkan kode Anda →
1

Langkah 1 dan 2: beri nama proyek dan hubungkan repositori

Beri nama proyek, lalu tempel alamat repositori (dari tombol hijau Code di GitHub) dan cabang tempat situs berjalan, biasanya main. Pilih cara aiKit mengaksesnya. Token GitHub: token fine-grained yang Anda buat di GitHub khusus untuk repositori ini dengan Contents diatur ke Read and write; digunakan dengan alamat https://. Deploy key: pasangan kunci yang dibuat khusus untuk repositori ini, dengan bagian publiknya ditambahkan di Settings, Deploy keys milik repositori, dengan Allow write access dicentang; digunakan dengan alamat git@. Repositori publik: hanya baca, sehingga perubahan yang disetujui tidak punya tempat untuk disimpan; gunakan hanya untuk melihat-lihat.

Anda menempel token atau kunci sendiri. Token atau kunci itu disimpan terenkripsi di mesin aiKit dan tidak pernah ditampilkan lagi, kepada siapa pun. Halaman hanya menampilkan sidik jari. Hubungkan repositori menyalin kode ke mesin dan membaca jenis proyeknya (Laravel, JavaScript, atau file statis). Tidak ada yang berubah di repositori.

Proyek yang sudah Anda miliki juga bisa dihubungkan: di tab Hosting-nya, pemilik akan melihat Hubungkan kode Anda.

2

Langkah 3: tempat berjalannya

Server sendiri: situs tetap berada persis di tempatnya. Masukkan alamat server, port SSH (biasanya 22), login yang digunakan aiKit (langkah pengaturan akan membuat satu bernama aikit), folder situs (untuk situs Laravel Forge, /home/forge/situs-anda.com), perintah deploy yang sudah digunakan situs (biasanya bash scripts/deploy.sh), dan halaman yang harus merespons setelah setiap deploy, satu alamat lengkap per baris. Tempel kunci privat login server (dibuat di langkah pengaturan 1). Simpan dan periksa koneksi.

Saat pertama kali aiKit menghubungi server, aiKit menampilkan sidik jari server dan bertanya Apakah ini server Anda? Bandingkan dengan yang ditampilkan server pada langkah pengaturan 6. Tekan Cocok hanya jika keduanya identik, lalu Hubungkan. Setelah itu, server lain di alamat tersebut akan ditolak. Saat pemeriksaan berhasil, halaman menampilkan versi yang sedang dijalankan server.

Hosting aiKit: aiKit membangun dan menyajikan kode itu sendiri, dengan alamat gratis untuk memulai. Paling cocok untuk situs dan front end.

3

Pengaturan server (dilakukan sekali, sekitar 10 menit)

Di bawah Pengaturan server, halaman ini mencantumkan delapan langkah salin-dan-tempel yang sudah terisi dengan nilai Anda; setiap langkah memiliki tombol Salin. Langkah 1 dan 8 dijalankan di komputer Anda, langkah 2 sampai 7 di server sebagai pengguna dengan sudo.

Yang dibuat: login tanpa kata sandi dan tanpa shell (langkah 2). Satu-satunya kuncinya dikunci ke skrip gerbang kecil (langkah 3 dan 5) yang hanya menerima dua perintah: status (versi apa yang berjalan, dan apakah situs dalam mode perawatan) dan deploy dari satu commit tertentu. Deploy berjalan sebagai pengguna situs itu sendiri melalui satu aturan sudo, memeriksa bahwa cabang di GitHub menunjuk ke commit tepat itu, lalu menjalankan skrip deploy Anda yang sudah ada tanpa perubahan. Langkah 4 mengatur izin folder agar login hanya menjangkau folder situs: bukan situs lain di folder home yang sama, dan tidak pernah .env. Langkah 7 menguji semuanya dan menjelaskan apa yang harus Anda lihat untuk setiap baris, dan langkah 8 menguji login dari komputer Anda sebelum Anda menempel kuncinya ke aiKit.

Jika server juga menjadi tempat bisnis lain, inilah intinya: login aiKit hanya dapat melakukan deploy untuk situs ini saja, tidak yang lain. Kode situs tetap berjalan sebagai pengguna situs, sama seperti saat Anda melakukan deploy dari GitHub sendiri, sebabnya setiap perubahan ditinjau dan file berisiko dilindungi.

4

Tab Hosting proyek kode

Empat kotak di bagian atas. Repository: repositori, cabang, commit terbaru, dan jenis proyek. Berjalan di: server Anda sendiri (dengan login dan waktu terakhir server merespons) atau hosting aiKit. Rilis aktif: rilis yang dijalankan situs, siapa yang membuatnya, dan kapan. Halaman: berapa banyak halaman yang harus merespons yang benar-benar merespons pada pemeriksaan terakhir; Periksa sekarang akan mengunjunginya lagi, dan halaman yang tidak merespons akan didaftar di bawahnya beserta responsnya.

Di bawah kotak-kotak: Minta perubahan (atau perubahan yang sedang terbuka sekarang), Rilis, Riwayat perubahan, File yang dilindungi, dan, untuk pemilik, Koneksi.

5

Minta perubahan, tinjau, lalu setujui

Ketik apa yang harus diubah, sebutkan halamannya dan hasil yang Anda inginkan, lalu tekan Lakukan perubahan. Kartu akan berubah menjadi Perubahan #1 dengan progres langsung: mengambil kode terbaru, file yang dibaca dan diedit AI, lalu setiap pemeriksaan. AI hanya mengedit file; AI tidak menjalankan perintah apa pun. Satu perubahan terbuka pada satu waktu per proyek, dan setiap permintaan dihitung ke batas AI proyek.

Saat selesai, Anda akan melihat: permintaan dan siapa yang memintanya; apa yang dikatakan AI telah dilakukannya; pemeriksaan, masing-masing dengan centang atau silang serta keluarannya; tombol Pratinjau untuk halaman yang diperiksa; file dengan label Ditambahkan, Diubah, atau Dihapus dan lencana Dilindungi jika berlaku; serta perbedaan file demi file, hijau untuk baris yang ditambahkan dan merah untuk baris yang dihapus. Perbedaan inilah yang persis akan di-commit dan di-deploy.

Setujui dan terapkan (pemilik dan pembangun) menyimpan perubahan ke cabang dengan pesan yang mencantumkan siapa yang meminta dan siapa yang menyetujui, mendorongnya (tidak pernah dipaksa: jika ada orang lain mendorong sementara itu, perubahan ditandai Kedaluwarsa dan tidak ada yang diterapkan), menerapkannya, dan memeriksa halamannya. Buang membuang perubahan setelah konfirmasi; tidak ada yang diterapkan. Peninjau dapat membaca semuanya tetapi tidak dapat menekan keduanya.

Setelah pemeriksaan lolos adalah pengaturan di bawah Koneksi, Pemeriksaan dan tinjauan. Tunggu persetujuan adalah pilihan default. Terapkan otomatis menerapkan perubahan dengan sendirinya hanya jika semua pemeriksaan lolos dan tidak ada file terlindungi yang berubah; selain itu tetap menunggu.

6

Pemeriksaan dan pratinjau

Untuk proyek Laravel, pemeriksaannya adalah: setiap file PHP yang berubah diurai (php -l); setiap tampilan Blade dikompilasi (php artisan view:cache); front end dibangun (npm run build); dan aplikasi dijalankan dalam uji coba dengan database SQLite sekali pakai, dimigrasi dan diisi data dari repositori, di mana setiap halaman di Halaman yang harus dibuka uji coba harus menjawab 200. Pemeriksaan berjalan di mesin aiKit, tidak pernah di server Anda dan tidak pernah pada database live Anda. File .env proyek tidak pernah disalin atau dibaca; uji coba memakai pengaturan sekali pakai.

Pemeriksaan yang gagal memblokir Setujui. Hanya pemilik yang dapat mencentang Terapkan meskipun pemeriksaan gagal, untuk pemeriksaan yang gagal karena alasan yang tidak memengaruhi situs live.

Pratinjau membuka aplikasi yang diubah dari uji coba di tab baru, dengan data uji dan formulir dinonaktifkan. Pratinjau berhenti 15 menit setelah terakhir digunakan dan berakhir saat perubahan disetujui atau dibuang.

7

File terlindungi

AI tidak menyentuh file terlindungi. Daftarnya dimulai dengan: migrasi yang sudah berjalan di situs live (setiap migrasi dalam rilis live, karena setiap penerapan menjalankannya), migrasi baru (akan mengubah database live pada penerapan berikutnya), skrip penerapan, dan file dependensi (composer.json, composer.lock, package.json, package-lock.json). Setiap entri menjelaskan alasannya. Pemilik menambahkan file atau folder (config/** berarti semua di dalam config) dengan alasan, menghapus entri, dan menekan Simpan file terlindungi.

Untuk mengubah file terlindungi dengan sengaja, pemilik mencentang Izinkan file terlindungi untuk permintaan ini. Perubahan kemudian menampilkan file terlindungi mana yang disentuhnya, dan hanya pemilik yang dapat menyetujuinya, setelah mencentang Ya, terapkan perubahan ke file terlindungi. Pembangun yang tidak mencentang apa pun tidak mendapat akses terlindungi.

File .env, kunci privat, dan auth.json berada dalam tingkat yang lebih ketat: tidak pernah dibaca, tidak pernah diubah, tidak pernah menjadi bagian dari diff, dan tidak seorang pun dapat mematikannya.

8

Rilis, Terapkan, dan Kembalikan

Pertama kali aiKit mencapai server Anda, aiKit mencatat apa yang dijalankan server sebagai rilis 1, Sebelum aiKit, sehingga bahkan penerapan pertama aiKit dapat dikembalikan. Setelah itu, setiap penerapan menjadi rilis bernomor: Perubahan (perubahan yang disetujui; namanya membuka perubahan itu), Terapkan ulang, atau Kembalikan, dengan commit-nya, siapa yang melakukannya, statusnya (Live, Sebelumnya, Live tetapi halaman gagal, Penerapan gagal), berapa halaman yang menjawab, dan log penerapan. aiKit menyimpan 5 terakhir.

Terapkan kode terbaru menerapkan apa pun yang paling baru di cabang saat ini, setelah konfirmasi, misalnya ketika seseorang mendorong perbaikan langsung.

Kembalikan ke ini, pada rilis sebelumnya, membuat commit baru yang file-filenya persis milik rilis itu, mendorongnya, dan menerapkannya dengan cara biasa, lalu memeriksa halamannya. Riwayat tidak pernah ditulis ulang, sehingga pengembalian itu sendiri dapat dikembalikan.

9

Catatan perubahan

Setiap permintaan dengan nomornya, permintaannya, siapa yang meminta, siapa yang menyetujui atau membuangnya, kapan, dan statusnya. Tekan baris untuk membuka perubahan itu beserta pemeriksaan dan diff-nya; alamatnya memuat ?change=<id>, sehingga Anda dapat membagikan tautan ke tim Anda.

Panduan berikutnya Tentang Printer’s Helper: untuk apa, dan batasannya

Punya pertanyaan yang lebih singkat dan spesifik? Lihat FAQ.