gitlab sudah menggunakan kait pasca-terima secara internal. Anda bisa bermain-main dengan skrip itu dan memanggil hook Anda juga, tetapi dari dokumen sepertinya cara "resmi" adalah dengan menggunakan "web-hooks", yaitu membiarkan gitlab memanggil server web Anda pada post-accept dan kemudian server web Anda kemudian menarik repositori. Saya belum mencoba ini sendiri, tetapi karena tidak ada yang menjawab sejauh ini saya pikir saya akan mengarahkan Anda ke arah itu:
untuk mengaktifkan kait web masuk ke halaman utama proyek Anda dan pilih kait dari kanan atas, di bawah menu utama. ( http://yourgitlab.example.net/yourproject/hooks ) Anda. ada contoh & dokumen yang ditautkan dari halaman itu ( http://yourgitlab.example.net/help/web_hooks ).
edit: //
Saya mencobanya pagi ini. Berikut ini contoh skrip php. Ini mengasumsikan Anda telah mengkloning repo dan server web memiliki semua kunci izin / ssh yang diperlukan.
<?php
$mirrordir='/srv/http/gitlabhooktest/gitmirror';
$gitdir=$mirrordir."/.git";
$json= file_get_contents('php://input');
#error_log($json);
$jsarr=json_decode($json,true);
#error_log(print_r($jsarr,true));
$branch=$jsarr["ref"];
if($branch=='refs/heads/master'){
$cmd="git --work-tree=$mirrordir --git-dir=$gitdir pull";
#error_log($cmd);
exec($cmd);
}