Bagaimana cara mengonfigurasi Git hook yang sesuai untuk mengirim email ringkasan setiap kali sekumpulan perubahan didorong ke repositori upstream?
Bagaimana cara mengonfigurasi Git hook yang sesuai untuk mengirim email ringkasan setiap kali sekumpulan perubahan didorong ke repositori upstream?
Jawaban:
Cara lain yang lebih modern untuk melakukan ini adalah dengan git-multimail , seperti yang disarankan oleh Chords di bawah ini.
Beginilah cara Anda melakukannya di tahun 2009.
Anda dapat menambahkan sesuatu seperti ini ke hook pasca-terima Anda di $ GITDIR / hooks, atau menggunakan skrip di direktori contrib source (Tersedia di sini)
Inilah solusi paling sederhana yang saya temukan:
1) Masuk ke akun gitHub Anda di github.com
2) Di tab utama, klik Pengaturan
3) Dari navigasi utama pilih Service Hooks
4) Dari Hooks yang Tersedia pilih Email
5) Isi alamat email Anda di kolom Address
6) Centang kotak Kirim dari Penulis
7) Centang kotak Aktif
8) Klik Pengaturan Pembaruan
Opsional: Anda dapat mengklik Test Hook untuk pengujian, periksa kotak masuk Anda, Anda akan menerima email.
Juga ada gambar yang dibuat menurut prosesnya:
Dan sekarang untuk grand final saya punya jawaban yang diuji dan disetujui di pihak saya.
Cara mengirim email ke SEMUA anggota tim pengembangan, ketika Service Hooks-> Email gitHub hanya mengizinkan maksimal 2 penerima} .
Jawabannya adalah kombinasi grup Service Hook-> Email @ GitHub && Google
Ini adalah cara saya mengirim notifikasi email ke pengguna setiap kali seseorang mendorong ke repositori.
Menyiapkan Pemberitahuan Email Git Commit
Ini didasarkan pada skrip Andy Parkins. Saya mengubahnya menjadi SMTP bekas untuk mengirim email. Tentu saja, SMTP gmail juga dapat digunakan.
Robin Sommer 's git-pemberitahu menghasilkan juga ringkasan sangat bagus dalam format berikut:
Subject: [git/git-notifier] master: Adding www target to Makefile. (7dc1f95)
Repository : ssh://<removed>/git-notifier
On branch : master
>---------------------------------------------------------------
commit 7dc1f95c97275618d5bde1aaf6760cd7ff6a6ef7
Author: Robin Sommer <robin@icir.org>
Date: Sun Dec 19 20:21:38 2010 -0800
Adding www target to Makefile.
>---------------------------------------------------------------
Makefile | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index e184c66..9c9951b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ VERSION = 0.1
DISTFILES = git-notifier README COPYING
+WWW = $(HOME)/www/git-notifier
+
all:
dist:
@@ -13,3 +15,7 @@ dist:
cp $(DISTFILES) git-notifier-$(VERSION)
tar czvf git-notifier-$(VERSION).tgz git-notifier-$(VERSION)
rm -rf git-notifier-$(VERSION)
+
+www: dist
+ rst2html.py README >$(WWW)/index.html
+ cp git-notifier-$(VERSION).tgz $(WWW)
pengaturan hooks.showrev tidak membuat perbedaan yang bisa dibedakan? : - /
Contoh conf:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = cj@yoga.ee
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
Saya berhasil melakukan ini, tetapi harus memilih untuk menggunakan script contrib, bukan script (perl) lainnya oleh Alexandre Julliard. Tampaknya lebih bagus dan lebih dapat dikonfigurasi, tetapi dengan postfix saya tidak memiliki perintah mail yang akan menerima "-s"? Inilah cara saya:
http://pastie.textmate.org/695323
Akan menyenangkan untuk menampilkan beberapa info lagi, seperti patch lengkap, tautan gitweb dan grafik komit juga, tetapi skrip ini hanya dapat melakukan yang pertama - jika saya bermain-main dengan hooks.showrev sepertinya.
Pokoknya, selamat dan terima kasih atas sarannya!
Jika Anda menggunakan windows, scm-notifier akan sangat membantu.
Bukan jawaban lengkap karena ini khusus Github, tetapi jika Anda kebetulan menggunakan Github, sangat mudah untuk mengkonfigurasi "Service Hooks".
Untuk setiap repositori yang ingin Anda pantau, masuk ke Settings / Service Hooks.
Ada banyak integrasi yang tersedia, seperti Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello, dan Email ....
Cukup pilih email dan beri makan dengan alamat email grup.
Kami menggunakan pemberitahuan email untuk menyinkronkan pengembang kami.
Jika Anda menggunakan GitLab, Anda dapat menggunakan layanan proyek 'Email-on-push' untuk ini, ini dapat ditemukan di bawah layanan dalam pengaturan proyek.
Anda dapat menggunakan pra-komitmen:
#!/usr/bin/env ruby
require 'mail'
Mail.defaults do
delivery_method :smtp,
address: 'smtp.gmail.com',
port: 587,
user_name: '...',
password: '...',
authentication: 'plain',
enable_starttls_auto: true
end
changes=`git diff --cached --unified=0 Gemfile Bowerfile`
unless changes.empty?
Mail.deliver do
from '...'
to '...'
subject '[PROJECT] Plese confirm team can use libraries'
body changes
end
end
Install:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Uji:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
Di GitLab di bawah repositori Anda:
Ada membuka halaman baru Email di push
Juga ada opsi untuk Disable code diffs yang mengecualikan perbedaan kode sensitif di badan notifikasi. Ini opsional.
Untuk lebih jelasnya: Klik Di Sini