ฉันจะตั้งค่าที่อยู่ของผู้ส่งเป็นเจนกินส์ได้อย่างไร


217

ฉันกำลังส่งจดหมายจากเจนกินส์ไปยังรีเลย์ SMTP แบบไม่ระบุชื่อภายใน รีเลย์นั้นส่งอีเมลเพื่อแลกเปลี่ยนออนไลน์อย่างปลอดภัยผ่าน TLS ที่พอร์ต 587 การขนส่งทำงานได้อย่างสมบูรณ์ปัญหาคือ Microsoft ต้องการที่อยู่ผู้ส่งตรงกับชื่อรับรองข้อมูลรับรองการเข้าสู่ระบบซึ่งเหมือนกับที่อยู่อีเมลของบัญชี ยกตัวอย่างเช่นสมมติว่านี่คือ foo@mycompany.com ฉันจะทำให้เจนกินส์ส่งจดหมายจาก foo@mycompany.com ได้อย่างไร

BTW เมื่อฉันบอกว่าการขนส่งทำงานได้อย่างสมบูรณ์แบบสิ่งที่ฉันหมายถึงโดยเฉพาะคือฉันสามารถวางไฟล์อีเมลที่จัดรูปแบบลงในไดเรกทอรี "Pickup" บนเซิร์ฟเวอร์ส่งต่อ SMTP และมันถูกส่งไปยังผู้รับอย่างถูกต้องหากที่อยู่ From เป็น foo @ mycompany .com


ไม่มีใครรู้วิธีการทำเช่นนี้โดยไม่ใช้ UI หรือไม่ อาจจะผ่าน CLI หรือสคริปต์แรงหรือแม้กระทั่งงานเจนกินส์?
jdf

ตอบคำถามของฉันเกี่ยวกับการเปลี่ยนที่อยู่อีเมลของผู้ดูแลระบบโดยไม่ต้องใช้ UI ด้านล่าง
jdf

คำตอบ:


352

เจนกินส์ใช้ที่อยู่อีเมลของผู้ดูแลระบบเป็นที่อยู่ผู้ส่งสำหรับการแจ้งเตือนทางอีเมล คุณสามารถกำหนดค่าภายใต้การจัดการเจนกินส์ -> ระบบการกำหนดค่า นี่คือส่วนหัวของสถานที่ตั้งเจนกินส์ในหน้านั้น! ไม่ชัดเจนในทันทีว่าการตั้งค่านี้เชื่อมโยงกับการตั้งค่าการแจ้งเตือนทางอีเมลเนื่องจากไม่อยู่ภายใต้หัวข้อการแจ้งเตือนทางอีเมลในหน้าการกำหนดค่า


1
ใช้ Ubuntu 12.04, exim4 ในพื้นที่และ Jenkins 1.565.1, ติดตั้งจาก repo ภายนอกฉันต้องตั้งค่านี้เพื่อให้การส่งอีเมลทำได้
Max Hohenegger

96

จัดการ Jenkins -> กำหนดค่าระบบ -> ที่ตั้ง Jenkins -> ที่อยู่อีเมลของผู้ดูแลระบบ

คุณสามารถค้นหาหน้า "ตำแหน่งเจนกินส์" เพื่อเปลี่ยนค่าเริ่มต้นของที่อยู่ที่ไม่ได้กำหนดค่าเป็นสิ่งที่คุณต้องการ


จัดการเจนกินส์ -> กำหนดค่าระบบ -> ที่ตั้งเจนกินส์ -> ที่อยู่อีเมลของผู้ดูแลระบบตรงจุด tnx
Frohlich

22

มีสองที่สำหรับเพิ่ม "การแจ้งเตือนทางอีเมล"

  1. ระดับโลก
  2. ระดับท้องถิ่น (ระดับงานเจนกินส์)

ในการตั้งค่าการแจ้งเตือนอีเมลในระดับโลกให้ทำตามขั้นตอนด้านล่าง - 1) ไปที่จัดการเจนกินส์ 2) กำหนดค่าระบบ 3) ตำแหน่งเจนกินส์ 4) ที่อยู่อีเมลของผู้ดูแลระบบ

ป้อนคำอธิบายรูปภาพที่นี่

ในการตั้งค่าการแจ้งเตือนอีเมลในระดับท้องถิ่น (ต่อระดับงาน Jenkins) ให้ทำตามขั้นตอนด้านล่าง - 1) คลิกที่ชื่องาน (ถ้ามีอยู่) 2) คลิกที่ "กำหนดค่า" 3) จากนั้นมองหา "โพสต์ - สร้างการกระทำ "4) ระบุที่อยู่อีเมลภายใต้" การแจ้งเตือนอีเมล " 5) บันทึกการเปลี่ยนแปลง

ป้อนคำอธิบายรูปภาพที่นี่


1
ในระดับท้องถิ่นไม่ใช่ที่อยู่ของผู้ส่ง แต่เป็นของผู้รับ ฉันเดาว่าเป็นไปไม่ได้ที่จะกำหนดค่าที่อยู่อีเมลของผู้ส่งในระดับงานโดยไม่ต้องเขียนสคริปต์ที่กำหนดเองเพื่อส่งอีเมล
วงใน

11

ฉันไม่แน่ใจว่ามันเป็นสิ่งที่คุณหมายถึงหรือไม่ แต่เจนกินส์ช่วยให้คุณสามารถระบุที่อยู่อีเมลของผู้ส่งเพื่อแจ้งเตือนได้ ไปจัดการเจนกินส์แล้วการกำหนดค่าระบบและหาส่วนที่เรียกว่าการแจ้งเตือนทาง E-mail

Jenkins <foo@mycompany.com>คุณสามารถให้คุณที่อยู่อีเมลในรูปแบบของ


8
ตั้งแต่เดือนเมษายน 2558 เป็นต้นไปจัดการเจนกินส์> กำหนดค่าระบบ> ที่อยู่อีเมลของผู้ดูแลระบบ
Shirish Hirekodi

10

หากคุณต้องการทำสิ่งนี้โดยไม่ใช้ jenkins UI (เช่นในการตั้งค่า jenkins โดยอัตโนมัติ) - คุณสามารถทำได้ด้วยสคริปต์ groovy

import jenkins.model.*

def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()

jenkinsLocationConfiguration.setAdminAddress("[your admin name] <[your admin email address]>")
// example format -> .setAdminAddress("Jane Doe <foo@company_email.com>")    

jenkinsLocationConfiguration.save()

ทำหมายเหตุ: ผมไม่ได้เขียนสคริปต์นี้ (แม้ว่าฉันมีการทดสอบและการทำงาน) เครดิตทั้งหมดที่ปีเตอร์ฮัลลิเดย์และเว็บไซต์ของเขากับคนอื่น ๆ ที่เป็นประโยชน์สคริปต์ Groovy ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.