פתיחת CI/CD: איך להתקין את Jenkins ב־Ubuntu בהצלחה

האם אתה מבלה הרבה זמן בהתקנת קוד בתשתית שלך עם הרבה שלבים ותוכנה? אל דאגה, אתה במקום הנכון ללמוד איך להתקין את Jenkins, הכלי הפתוח הכי משמש.

במדריך זה, תלמד איך להתקין את Jenkins על מכונת Ubuntu, כך שתוכל לבנות ולהשקות קוד בלחיצת כפתור.

תמשיך קריאה והתחל להתקין!

דרישות מוקדמות

הפוסט הזה יהיה מדריך שלב אחר שלב. כדי להמשיך, הקפד שתהיה לך מכונת Ubuntu. המדריך הזה משתמש ב- Ubuntu 18.04 עם Apache מותקן.

התקנת גרסת Java 11 על מכונת Ubuntu

Jenkins הוא כלי אינטגרציה רצינית (CI) ו־פרסום רציני (CD), שאתה יכול להפעיל ב־קונטיינרים שונים, כמו אפאצ'י תומקאט או גלאספיש. אך למעבר הדגמה זו, תפעיל את Jenkins על השרת המובנה שלו לתוך קונטיינר סרבל Java.

ישנם מספר יישומים של Java שניתן להשתמש בהם עם Jenkins, אך OpenJDK הוא הכי פופולרי, אותו תתקין ותשתמש בו במדריך זה.

1. התחבר למכונת Ubuntu שלך באמצעות סורק SSH האהוב עליך.

2. לאחר מכן, הפעל את הפקודות הבאות כדי ליצור ספרייה בשם ~/install_jenkins_demo ולעבור אל הספרייה ההיא.

mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo

3. הפעל את הפקודה apt install למטה כדי להתקין את Java במכונה שלך.

# מתקין גרסת ג'אווה: Java SE 11 (LTS)
sudo apt install default-jdk 
Installing Java Version: Java SE 11 (LTS)

4. לבסוף, הריצו את הפקודה הבאה כדי לבדוק את גרסת הג'אווה שמותקנת על המחשב שלכם. על ידי כך אתם מבטיחים שהתקנתם בהצלחה את ג'אווה.

# בדיקת גרסת הג'אווה כדי לאמת את התקנת ג'אווה.
java -version
Checking the Version of Java to verify Java installation

התקנת Jenkins על מכונת Ubuntu 18.04 LTS

עכשיו שיש לכם ג'אווה מותקנת על המכונה של Ubuntu, זה הזמן להתקין את Jenkins על המכונה שלכם. התקנת Jenkins די דומה לאיך שאתם מתקינים חבילות אחרות על המכונה שלכם.

בהנחה שאתם עדיין מחוברים ללקוח SSH:

1. רץ תחילה את הפקודה apt update כדי לעדכן את חבילות המערכת שלכם.

sudo apt update

2. לאחר מכן, הריצו את הפקודת wget להוספת מפתח הציבור של Jenkins למערכת שלכם.

הוספת המפתח הציבור מאפשרת לאתר של Jenkins להוריד את המאגר הרשמי של Jenkins או כל חבילות נדרשות אחרות.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

3. הריצו את הפקודות הבאות כדי להוסיף את המאגר הרשמי של Jenkins למערכת שלכם ולעדכן את המערכת שלכם.

# הוספת מאגר הרשמי של Jenkins למערכת
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
# עדכון החבילה
sudo apt-get update

4. עכשיו, הריצו את הפקודה הבאה כדי להתקין את חבילת Jenkins.

# התקנת חבילת Jenkins
sudo apt-get install Jenkins
Installing the Jenkins package on an ubuntu machine

5. לבסוף, הריצו את הפקודה service למטה כדי לאמת את מצב שירות Jenkins. # אימות מצב השירות של Jenkins על מכונת אובונטו service jenkins status

# אימות מצב השירות של Jenkins על מכונת אובונטו
service jenkins status

כפי שאתם רואים למטה, המצב מציין ששירות ה-Jenkins הוא פעיל.

Verifying the status of Jenkins service

הגדרת מופע Jenkins

כעת, אתם במחצית הדרך להתקין את Jenkins בהצלחה. אך, לפני שתתחילו להשתמש בו, עליכם להגדיר אותו עם הפרטים הבסיסיים. איך לעשות זאת? השלב הראשון בהגדרת Jenkins הוא לפתוח את Jenkins שהותקן לאחרונה.

בהנחה שאתם עדיין מחוברים ללקוח SSH:

1. פתחו את הדפדפן האהוב עליכם ונווטו לכתובת ה-IP של השרת עם יציאה 8080 כמו jenkins-ip:8080. לאחר הניווט לקישור, יהיה עליכם לפתוח את Jenkins על ידי ספק הסיסמה המנהלית. הסיסמה המנהלית מאוחסנת בתיקייה /var/lib/jenkins/secrets/initialAdminPassword בשרת (שלב שני).

Unlocking Jenkins Instance

2. הריצו את הפקודה cat למטה כדי להוסיף את סיסמת המנהל על מכונתכם מהתיקייה /var/lib/jenkins/secrets/initialAdminPassword.

cat /var/lib/jenkins/secrets/initialAdminPassword

כפי שאתם רואים למטה, המחרוזת הגדולה בפלט היא סיסמת המנהל. שימו לב לסיסמת המנהל כי תצטרכו לה בכדי לפתוח את Jenkins (שלב שלוש).

Checking the Initial Admin Password

3. חזרו לדפדפן האינטרנט שלכם (פתחו את Jenkins) והזינו את סיסמת המנהל שרשמתם בשלב שני.

ברגע שפתחת את Jenkins, הדפדפן שלך יופנה לדף שבו תוכל להתאים אישית את ההתקנה של Jenkins עם התוספים (שלב רביעי).

4. בדף התאמת Jenkins, לחץ על התקן תוספים מומלצים.

תוסף Jenkins הוא כלי של צד שלישי המשתלב עם Jenkins ומאפשר לך לבצע משימות כמו תוסף Git. תוסף Git מאפשר לך להתחבר למאגר Git, להפעיל פקודות Git, וכדומה.

Installing the Jenkins Plugin

5. מלא את פרטי המשתמש המנהל, כפי שמוצג למטה, ולחץ על שמור והמשך כדי ליצור משתמש מנהל. משתמש זה מאפשר לך לעבוד עם לוח המחוונים או מופע Jenkins.

כשלוחצים על שמור והמשך, יוצג לך מסך הגדרת המופע כפי שמוצג בשלב חמישי.

באופן ברירת מחדל, יש ל-Jenkins משתמש מנהל נוצר עם שם משתמש/סיסמה (admin: admin), אך עדיין קיימת לך אפשרות ליצור משתמש מנהל בהתאמה אישית. ניתן לדלג ולהמשיך כמנהל אם אינך רוצה ליצור משתמש מנהל מותאם אישית.

Creating the First Admin user

6. לבסוף, לחץ על שמור וסיים כדי לשמור את הגדרות המופע.

הגדרות המופע מאפשרות לך לציין את כתובת ה-URL של Jenkins שברצונך להשתמש בה, ובמקרה זה, תשתמש ב-URL הברירת מחדל (כלולים כתובת-השרת:8080)

Configuring the Jenkins Instance
Jenkins Running successfully on Port 8080

שינוי פורט ברירת מחדל של מופע Jenkins.

קודם כל, למדת שברירת המחדל, Jenkins רץ על פתחה 8080, וזה בסדר. אבל מה אם אתה צריך להריץ יישומים אחרים על אותו פורט כמו apache או NGINX? אין צורך לדאוג! באפשרותך לשנות את פתח הברירת מחדל של Jenkins (8080) ולהריץ את המופע של Jenkins על פורטים אחרים.

1. פתח את הקובץ /etc/default/Jenkins בעורך הטקסט המועדף עליך ושנה את פורט הברירת מחדל מ-8080 ל-9090 ושמור את השינויים.

Changing the Default Jenkins Port

2. לאחר מכן, הרץ את הפקודה הבאה כדי לאתחל מחדש את Jenkins, כך שההגדרות המעודכנות ייכנסו לתוקף.

sudo systemctl restart jenkins

3. לבסוף, נווט לכתובת URL של Jenkins, אך הפעם, שנה את הפורט ל-9090, כפי שמוצג למטה.

Jenkins Running successfully on Port 9090

הרצת Jenkins באופן מאובטח (HTTPS) באמצעות אישור SSL

עכשיו, המופע שלך של Jenkins רץ באופן מושלם בפורט 9090. אך האם זה מאובטח? לא, זה לא. אבטח את המופע שלך של Jenkins ומנע שהוא ייחדר על ידי התקפנים על ידי הפעלת אישור SSL.

אישורי SSL משמשים בעיקר לבדיקה במכונת המקומית כאשר אין אישור זמין מרשות התעופה החיצונית.

כדי לאבטח את המופע שלך של Jenkins:

1. הפעל כל פקודה למטה כדי ליצור ספרייה בשם ~/certificates לאחסון אישורים ולשנות לאותה ספרייה.

mkdir ~/certificates
cd ~/certificates

2. הריצו את הפקודה הבאה של openssl כדי ליצור בקשת חתימת תעודה (CSR) ומפתח פרטי. 3. הריצו את הפקודות הבאות כדי ליצור ספריית אחרת (/etc/apache2/ssl) ולהעביר את התעודות מהתיקייה ~/certificates/ לתיקייה /etc/apache2/ssl.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
Generating a CSR and private key

4. פתחו את קובץ התצורה של האתר SSL המוגדר כברירת מחדל באפאצ'י (/etc/apache2/sites-available/default-ssl.conf) והוסיפו את השורות הבאות. וודאו להחליף את <my-server-name> בשם השרת האמיתי שלכם.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

בקוד למעלה, אתם מציינים את המיקום (המפתח והקובץ) של התעודות SSL שהעתקתם קודם. כמו כן, כדי ש-Jenkins יעבור הפניה ליצירת פורט 9090, תוסיפו את הארגומנט ProxyPass ותפעילו את ProxyPreserveHost.

5. כעת הריצו כל פקודה מתחת כדי להפעיל את מודול SSL, להפעיל את האתר ששיניתם (שלב ארבע) ולאתחל את שירות האפאצ'י מחדש.

ServerName <my-server-name>
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
Updating default SSL Apache site configuration file

# הפעלת מודול SSL כך שתוכלו לעבוד עם חיבורי SSL.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# הפעלת האתר ששיניתם (שלב ארבע)
sudo a2ensite default-ssl.conf
# אתחול השירות של אפאצ'י מחדש
sudo service apache2 restart

6. לבסוף, נווטו למופע שלך של Jenkins, אך הפעם, באמצעות HTTPS, כפי שמוצג למטה.

כפי שניתן לראות, Jenkins נפתח בהצלחה עם חיבורי SSL על פתח ה-HTTPS. אל תדאג אם אתה רואה סמל אזהרה המציג את הודעת לא מאובטח. תקבל את האזהרה הזו מאחר שאתה משתמש בתעודה שנחתמת באופן עצמאי (נוצרת על ידייך) ולא על ידי ה-רשות המוסמכת לתעודות.

Accessing Jenkins Instance with SSL connections on HTTPS port

סיכום

במדריך זה, למדת כיצד להתקין את Jenkins על מכונת Ubuntu ולוודא שניתן לגשת בבטחה למופע של Jenkins.

כעת, איך אתה מתכנן לשפר את היכולות שלך עם Jenkins? אולי לאוטומט פרסום אתרי האינטרנט? או ליצור צינור CI CD של Jenkins כדי לשפר את תהליך פיתוח התוכנה שלך?

Source:
https://adamtheautomator.com/install-jenkins/