Menggunakan Travis-CI, apakah mungkin untuk memicu pembangunan kembali tanpa mendorong komit baru ke GitHub?
Use case: Bangunan gagal karena eksternalitas. Sumbernya sebenarnya benar. Itu akan membangun OK dan lulus jika hanya menjalankan kembali.
Misalnya, apt-get
gagal karena server paket sedang down, tetapi server kembali naik. Namun status build "macet" pada "gagal" sampai komit baru didorong.
Apakah ada cara untuk mendorong Travis-CI untuk melakukan build lain, selain mendorong komit "dummy"?
Jika Anda membuka tab Pengaturan untuk repositori di GitHub, klik Integrasi & layanan , temukan Travis CI dan klik Edit , Anda akan melihat tombol Layanan Uji . Ini akan memicu bangunan.
sumber
Settings
di repositori di Github , bukan di halaman repo Travis! Saya tidak percaya saya menghabiskan 20 menit untuk mencariService Hooks
di halaman Travis. :(Saya tahu Anda mengatakan tanpa mendorong komit, tetapi sesuatu yang berguna, jika Anda bekerja pada cabang selain master, adalah komit kosong.
git commit --allow-empty -m "Trigger"
Anda dapat rebase pada akhirnya dan menghapus squash / menghapus komit kosong dan bekerja di semua kait git :)
sumber
Saya telah menemukan cara lain untuk memaksa CI menjalankan ulang pemicu dan pemicu lainnya:
git commit --amend --no-edit
tanpa perubahan. Ini akan membuat ulang komit terakhir di cabang saat ini.git push --force-with-lease origin pr-branch
.sumber
--amend
bendera juga mungkin tidak mengubahHEAD
komit dalam beberapa kasus.git push --force-with-lease origin pr-branch
agar Anda tidak secara tidak sengaja mengubah perubahan orang lainMasuk ke Travis dan pergi ke halaman pembuatan. Anda akan melihat tombol "Restart Build" di sudut kanan atas, di sebelah ikon roda gigi:
Catatan: Anda harus memiliki akses tulis ke repo GitHub yang tertaut agar ini berfungsi.
sumber
Jika Anda memiliki proyek baru di GitHub yang memiliki .travis.yml, tetapi tidak pernah diuji, Anda dapat menjalankan tes tanpa melakukan cara ini:
sumber
Anda dapat melakukan ini menggunakan Travis CLI . Seperti yang dijelaskan dalam dokumentasi , instal terlebih dahulu alat CLI, lalu:
Anda dapat menyimpan token ini di variabel lingkungan
TRAVIS_TOKEN
, selama file yang Anda simpan tidak dikontrol versi di tempat umum.Saya menggunakan fungsi ini untuk mengirim pemicu:
sumber
Travis sekarang menawarkan cara untuk memicu build "custom" dari UI web mereka. Cari tombol menu "Opsi Lainnya" di sisi kanan dekat bagian atas halaman proyek Anda.
Anda kemudian akan disajikan dengan kotak dialog di mana Anda dapat memilih cabang dan menyesuaikan konfigurasi:
Saat ini saya sedang menulis ini masih dalam versi beta, dan tampaknya sedikit bermasalah (tapi saya berharap mereka akan segera menyelesaikan masalah).
sumber
Jika Anda menginstal Travis CI Client yang dapat Anda gunakan
travis restart <job#>
untuk menjalankan kembali build secara manual dari konsol. Anda dapat menemukan pekerjaan # terakhir untuk menggunakan cabangtravis show <branch>
UPDATE: Sayangnya sepertinya ini tidak memulai membangun baru menggunakan komit terbaru, tetapi sebaliknya hanya me-restart membangun sebelumnya menggunakan keadaan repo sebelumnya.
sumber
Saya harus menyebutkan di sini bahwa kita sekarang memiliki sarana untuk memicu bangunan baru di web. Lihat https://blog.travis-ci.com/2017-08-24-trigger-custom-build untuk detailnya.
TL; DR Klik pada "Opsi lainnya", dan pilih "Trigger build".
sumber
build #xxxx has been restarted
tetapi jika Anda melihat di halaman web Anda tidak melihat adanya buildJika build tidak pernah terjadi (mungkin Anda belum mengaktifkan switch Pull-Request build dalam waktu), Anda dapat menandai Pull Request pada Github sebagai ditutup kemudian tandai sebagai dibuka dan build baru akan dipicu.
sumber
Saya baru saja memicu tes pada permintaan tarik untuk dijalankan kembali dengan mengklik 'perbarui cabang' di sini:
sumber
Inilah yang berhasil bagi saya untuk memicu pembangunan kembali pada PR yang telah dibuka Dependabot, tetapi gagal karena kesalahan dalam
.travis.yml
:dependabot/cargo/tempfile-3.0.4
)sumber
Pastikan untuk Masuk ke Travis terlebih dahulu. Tombol bangun kembali tidak muncul sampai Anda masuk. Saya tahu ini jelas, tetapi seseorang baru saja tersandung juga ;-)
sumber
Terkadang server melakukan beberapa kesalahan. coba keluar / masuk dan semuanya mungkin benar saat itu. (Ya itu terjadi sore ini kepadaku.)
sumber
Simlpy tutup dan buka kembali PR jika Anda tidak memiliki akses tulis.
sumber