Kontrol sumber

Terapkan dari repositori yang sudah Anda gunakan — sembilan tempat untuk meletakkannya

Hubungkan akun GitHub atau GitLab tempat Anda bekerja dan terapkan langsung dari sebuah branch: ke Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps, atau AWS Amplify — atau ke hosting terkelola kami sendiri, tempat repositori dan file situs tetap tersinkronisasi di kedua arah. Setiap koneksi menampilkan hak istimewa yang diperlukannya, diperiksa terhadap API penyedia sebelum disimpan, dan disimpan di Vault. Anda juga dapat masuk dengan GitHub atau GitLab.

Sebuah commit yang bergerak di sepanjang pipeline dari repositori ke situs langsung.
  • GitHub + GitLabHubungkan akun yang sudah Anda miliki
  • Sembilan tujuandelapan host edge, ditambah armada kami sendiri
  • Sinkronisasi dua arahsetiap situs, setiap baris
  • Tersimpan di Vaultdivalidasi saat masuk, tidak pernah di log
  • Token diperiksa sebelum disimpantoken dengan cakupan berlebih tidak pernah mendarat
  • Dorong untuk menerapkantanda tangan terverifikasi, dan opsional
  • Branch Anda, build Andapublikasikan direktori atau jalankan CI Anda sendiri
  • Putuskan koneksi dengan bersihkami menghapus tepat hook yang kami buat

Hubungkan sekali, dan lihat apa yang Anda setujui

Koneksi adalah kredensial yang Anda serahkan kepada orang lain. Layanan kami menyatakan apa yang dibutuhkannya sebelum Anda membuatnya, membuktikan bahwa koneksi tersebut berfungsi sebelum menyimpannya, dan dapat dicabut dari salah satu ujung.

Hak istimewa, dinyatakan di muka

Sebelum Anda membuat token, kami memberi tahu apa yang harus dapat dilakukannya dan alasannya. Tidak ada cakupan menyeluruh hanya karena lebih mudah untuk memintanya, dan tidak ada temuan setelahnya bahwa kami menginginkan lebih dari yang dibutuhkan oleh pekerjaan tersebut.

Diverifikasi dengan penyedia, tidak diterima begitu saja atas dasar kepercayaan

Kami memanggil API milik penyedia menggunakan token Anda sebelum menyimpannya. Token yang salah, kedaluwarsa, atau memiliki cakupan yang keliru akan ditolak langsung pada formulir, alih-alih diterima, ditampilkan dalam kondisi baik, lalu gagal pada proses penerapan nyata pertama.

Disimpan di Vault, dan tidak di tempat lain

Bukan dalam kode kami, bukan dalam file lingkungan, bukan dalam log, dan bukan di baris perintah. Diselesaikan pada saat digunakan, oleh beban kerja yang menggunakannya.

Lebih dari satu akun, dipilih per situs

Hubungkan akun pribadi dan akun organisasi, atau dua akun organisasi. Setiap situs memilih akun mana yang akan digunakan untuk deployment, sehingga repositori klien dan repositori Anda tidak akan pernah berbagi kredensial.

Sembilan tempat repositori dapat berlabuh

Delapan host edge terkelola dan armada kami sendiri. Tujuan adalah properti dari situs, bukan dari koneksi, sehingga repositori yang sama dapat memublikasikan satu cabang ke host Pages dan situs lain dapat berjalan di perangkat keras kami.

Cloudflare Pages

Bandwidth tak terbatas, penggunaan komersial diizinkan, dan domain apex dikelola di penyedia yang sama yang biasanya menangani zona DNS Anda. Ini adalah tujuan pertama yang kami tuju karena alasan-alasan tersebut.

Hosting Cloudflare Pages →

GitHub Pages

Publikasikan langsung dari repositori tempat kode sudah berada. Ditandai pada baris Footprint-Free, karena infrastruktur bersama github.io itu sendiri merupakan sebuah jejak.

Hosting GitHub Pages →

GitLab Pages, Netlify, Vercel, dan yang lainnya

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps, dan AWS Amplify adalah semua tujuan yang dapat Anda arahkan untuk sebuah situs, dengan koneksi dan riwayat penerapan yang sama.

Hosting situs statis →

Hosting terkelola kami sendiri

Aplikasi lengkap dan bukan sekadar bundel bawaan — WordPress, PHP, Node. Ini adalah tujuan yang mendapatkan sinkronisasi dua arah, sehingga file di server dan branch tetap selaras.

Hosting terkelola →

Situs di edge milik orang lain

Situs yang dipublikasikan ke host yang bukan milik kami tetap menggunakan kuota dan tetap muncul di dasbor Anda beserta penerapan, waktu aktif, dan data SEO-nya berdampingan dengan semua hal lain yang Anda jalankan.

Batas situs eksternal →

Atau edit di sini

Editor di dalam browser bekerja pada file yang sama yang didorong kembali oleh sinkronisasi dua arah, sehingga perbaikan cepat dari dasbor menjadi commit di branch Anda, bukan perubahan yang tidak dapat ditemukan oleh siapa pun nanti.

Editor web →

Sinkronisasi dua arah

Repositori Anda dan situs web aktif Anda, selaras

Aktifkan dan file milik situs akan di-commit kembali ke branch Anda, sementara commit pada branch tersebut akan diterapkan kembali ke situs. Fitur ini berfungsi di setiap situs yang kami hosting, di setiap lini — satu-satunya persyaratan adalah mesin di bawahnya dapat menjalankan Git terhadap file-filenya, yang dipastikan langsung ke server alih-alih diasumsikan dari paket layanan.

Anda memilih direktori mana yang disinkronkan, karena pelanggan WordPress ingin temanya dilacak dan bukan empat puluh ribu file inti. Dan fitur ini dinonaktifkan sampai Anda mengaktifkannya: mengaktifkan sinkronisasi adalah keputusan tentang repositori orang lain, dan migrasi tidak boleh mengambil keputusan tersebut untuk Anda.

  • Pengeditan pada perangkat keras kami menjadi commit di branch Anda
  • Commit pada branch Anda kembali ke situs
  • Sinkronkan satu direktori — tema, plugin — bukan seluruh root dokumen
  • Dinonaktifkan secara default, termasuk di setiap situs yang sudah ada
File yang terbuka di editor dengan file yang sama ditampilkan sebagai commit di repositori.

Publikasikan direktori, atau biarkan CI Anda sendiri yang membangunnya

Dua mode, dan perbedaannya adalah di mana proses build berjalan. Keduanya berakhir di tempat yang sama: ref yang kami ambil dan publikasikan, dengan commit yang dicatat pada deployment.

  • Mode publikasi mengambil branch Anda apa adanya dan memublikasikan direktori yang Anda tentukan — kosong berarti root repositori.
  • Mode CI menjalankan perintah build Anda di pipeline penyedia Anda sendiri dan mengomit hasilnya ke cabang publikasi terpisah, yang kami ambil seperti referensi lainnya.
  • Branch tempat asal publikasi deployment selalu dinamai secara eksplisit, tidak pernah "branch default" — branch default dapat berubah tanpa Anda sadari, dan riwayat yang tidak dapat menyebutkan branch mana yang dipublikasikannya bukanlah sebuah riwayat.
  • Penerapan otomatis aktif secara default dan dapat dimatikan tanpa menghapus webhook, sehingga Anda dapat memantau kedatangan pengiriman sebelum mengizinkannya bertindak.
  • Setiap penerapan mencatat commit, hasil, dan waktunya, serta berjalan di latar belakang — halaman akan diperbarui saat pembuatan selesai.
  • Memutuskan sambungan hanya akan menghapus webhook yang kami buat, berdasarkan id-nya, dan tidak ada hal lain di repositori Anda.

Dari repositori ke situs langsung

  1. Hubungkan akun

    GitHub atau GitLab, di bawah Koneksi. Hak istimewa dicantumkan sebelum Anda membuat token dan token tersebut diperiksa ke penyedia sebelum disimpan.

  2. Arahkan situs ke repositori

    Pemilik, repositori, branch, dan apakah kami memublikasikan direktori atau mengambil apa yang dibuat oleh CI Anda. Kami mendaftarkan push webhook sebagai bagian dari proses tersebut.

  3. Dorong, atau tekan tombol

    Push ke cabang yang ditentukan akan memulai penerapan, atau Anda dapat menerapkan sesuai permintaan dari tab Penerapan situs. Build berjalan di latar belakang.

  4. Tonton, dan sinkronkan kembali jika Anda menginginkannya

    Riwayat penerapan menunjukkan apa yang dipublikasikan dan kapan. Aktifkan sinkronisasi dua arah dan pengeditan yang Anda buat di sini akan kembali sebagai commit pada branch Anda.

Saat terjadi masalah

"Terhubung tetapi tidak pernah terkirim" adalah status yang sebenarnya akan kami beri tahukan kepada Anda

Koneksi repositori yang tampak baik-baik saja dan tidak menerima apa pun adalah kegagalan senyap yang klasik — token dengan cakupan yang salah, pengiriman yang diblokir di penyedia, hook yang dihapus secara manual. Hal ini tidak terlihat di setiap layar lain, sehingga kartu repositori menampilkannya secara langsung: kapan penyedia terakhir kali mengirimkan ke kami, dan apa laporannya.

Pengiriman diperiksa tanda tangannya sebelum kami menindaklanjutinya, menggunakan skema masing-masing penyedia alih-alih skema yang kami asumsikan berlaku untuk semuanya. Pengiriman yang tidak terverifikasi akan ditolak dan dicatat, bukan diabaikan begitu saja.

  • Waktu pengiriman dan pesan terakhir, pada kartu
  • "Tidak pernah terkirim" dicantumkan, tidak dikosongkan
  • Tanda tangan diverifikasi per penyedia sebelum apa pun dijalankan
  • Hook yang kami buat akan dihapus berdasarkan ID saat Anda memutuskan koneksi
Pengiriman webhook tiba dan diperiksa sebelum memicu apa pun.

Identitas

Masuk dengan GitHub atau GitLab — atau Google, atau Microsoft

Selain dengan alamat email dan kata sandi, Anda dapat masuk ke akun Zinn Digital® Anda menggunakan GitHub, GitLab, Google, atau Microsoft. Lapisan identitas menjalankan jabat tangan (handshake); kami tidak pernah melihat kata sandi penyedia Anda, dan penautan akun sosial ke akun Zinn® yang sudah ada tetap harus dikonfirmasi melalui email.

Masuk dengan GitHub dan menghubungkan GitHub untuk penerapan adalah keputusan terpisah dan kredensial terpisah. Melakukan salah satunya tidak berarti melakukan yang lain, dan menghapus salah satunya tidak menghapus yang lain.

  • Masuk dengan GitHub, GitLab, Google, dan Microsoft
  • Kunci sandi dan autentikasi dua faktor di akun yang sama
  • Kredensial masuk dan penerapan tetap terpisah
Akses yang didelegasikan untuk tim Anda
Beberapa orang masuk ke satu akun dengan penyedia yang berbeda.

Pertanyaan yang Sering Diajukan

Penyedia kontrol sumber mana saja yang dapat saya hubungkan?

GitHub dan GitLab. Hubungkan akun yang sudah Anda gunakan untuk bekerja dan kami dapat melakukan deploy dari repositorinya, mendaftarkan push webhook padanya, dan — jika Anda menginginkannya — menyinkronkan kembali file situs Anda ke arah sebaliknya. Keduanya melewati sambungan akun terhubung yang sama, sehingga semua yang ada di bawah ini berlaku untuk keduanya.

Bisakah saya masuk dengan GitHub atau GitLab?

Ya, dan dengan Google atau Microsoft. Bersamaan dengan alamat email dan kata sandi, Anda dapat masuk ke akun Zinn Digital® Anda dengan salah satu dari keempat pilihan tersebut. Lapisan identitas menangani handshake dan kami tidak pernah melihat kata sandi penyedia Anda. Masuk dengan GitHub merupakan hal yang terpisah dari menghubungkan GitHub untuk proses deploy — Anda dapat memilih salah satunya, keduanya, atau tidak sama sekali.

Di mana saya dapat menerapkan repositori?

Ke Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps, atau AWS Amplify untuk situs statis atau yang telah dibangun — atau ke hosting terkelola kami sendiri, tempat repositori dan file situs tetap tersinkronisasi di kedua arah. Anda memilih tujuan untuk situs tersebut; koneksi repositori tetap sama dengan kedua cara tersebut.

Bisakah Anda membuat situs saya, atau apakah harus sudah dibuat sebelumnya?

Keduanya bisa. Dalam mode publikasi, kami mengambil branch apa adanya dan memublikasikan direktori yang Anda sebutkan. Dalam mode CI, alur milik penyedia Anda sendiri menjalankan perintah build Anda dan melakukan commit output ke branch publikasi terpisah, yang kemudian kami ambil seperti referensi lainnya. Opsi kedua mempertahankan proses build di CI Anda sendiri, tempat rahasia dan caching Anda sudah berada.

Apakah push diterapkan secara otomatis?

Secara default, ya — kami mendaftarkan webhook di repositori dan push ke cabang yang Anda tentukan akan memulai deploy. Anda dapat menonaktifkannya dan tetap mempertahankan webhook, yang ternyata lebih berguna daripada yang terdengar: pengiriman tetap dicatat, sehingga Anda dapat melihat push Anda tiba sebelum Anda mengizinkan kami menindaklanjutinya.

Apa itu sinkronisasi dua arah?

Perubahan yang dibuat pada perangkat keras kami menjadi commit di branch Anda, dan commit di branch Anda akan kembali ke situs. Fitur ini dinonaktifkan sampai Anda mengaktifkannya, karena mengaktifkannya adalah keputusan terkait repositori orang lain dan kami tidak akan memutuskannya untuk Anda. Anda memilih direktori mana yang disinkronkan — biasanya tema atau plugin, bukan empat puluh ribu file inti WordPress.

Apa yang terjadi jika kedua belah pihak berubah?

Tidak ada yang ditimpa dan tidak ada yang di-push. Sinkronisasi berhenti, memberi tahu Anda bahwa branch telah bergerak melewati commit dasar kita, dan menanyakan sisi mana yang Anda inginkan — mempertahankan repositori, atau mempertahankan situs. Situs yang belum pernah disinkronkan dan mengarah ke branch yang sudah memiliki commit juga merupakan status tersendiri, dan sistem akan bertanya daripada menebak mana yang benar.

Bagaimana token akses saya dilindungi?

Kami menampilkan hak istimewa yang dibutuhkan koneksi sebelum Anda membuatnya, memeriksa token terhadap API penyedia itu sendiri saat dimasukkan — sehingga token yang tidak valid atau salah cakupan tidak akan pernah disimpan sama sekali — dan baru setelah itu menuliskannya ke Vault. Token tersebut tidak pernah menyentuh kode, log, file lingkungan, atau baris perintah kami. Cabut token di pihak penyedia atau hapus koneksi di sini, kapan pun Anda mau.

Bagaimana cara mengetahui apakah Anda benar-benar menerima push saya?

Kartu repositori menunjukkan kapan penyedia terakhir kali mengirimkan data kepada kami dan apa isinya. "Tidak pernah dikirimkan" adalah diagnostik yang paling berguna di layar tersebut, karena "terhubung tetapi tidak pernah dikirimkan" persis seperti tampilan token dengan cakupan yang salah atau pengiriman yang diblokir — dan ini tidak terlihat di tempat lain mana pun. Setiap pengiriman diperiksa tanda tangannya sebelum kami menindaklanjutinya.

Dapatkah saya menggunakan penerapan Pages pada lini Footprint-Free?

Layanan ini ditawarkan dan ditandai. GitHub Pages dan GitLab Pages berbagi infrastruktur penyedia serta nama host publik github.io dan gitlab.io, dan hal tersebut merupakan jejak mesin pencari — satu-satunya hal yang ingin dihindari oleh lini ini. Untuk jaringan tanpa jejak, terapkan pada hosting terisolasi sebagai gantinya. Di tempat lain mana pun, Pages adalah kelas satu.

Mengapa saya harus memilih Vercel secara eksplisit?

Karena paket gratisnya dilisensikan hanya untuk penggunaan nonkomersial. Kami menyimpulkan tujuan dari akun yang telah Anda hubungkan jika dirasa aman, dan Vercel sengaja dikecualikan dari kesimpulan tersebut — menghubungkan akun tidak boleh secara diam-diam menempatkan situs komersial di tempat yang tidak diizinkan oleh lisensinya. Pilih opsi tersebut dan itu akan bekerja persis seperti yang lain.

Dapatkah saya melihat apa yang di-deploy dan kapan?

Ya. Setiap penerapan mencatat komit yang dipublikasikannya, kapan penerapan tersebut berjalan dan bagaimana hasilnya, dan tab Penerapan di situs menampilkan riwayat dengan URL langsung di sampingnya. Penerapan berjalan di latar belakang, sehingga halaman diperbarui saat build selesai daripada membuat Anda menunggu di depan animasi pemuatan.

Terapkan dari repositori Anda

Mulai uji coba 14 hari tanpa kartu, hubungkan GitHub atau GitLab, dan arahkan situs ke suatu branch. Publikasikan ke edge host, atau ke hosting kami sendiri dengan sinkronisasi file dua arah.

Mulai gratis