როგორ შევქმნათ თქვენი პირველი ჯენკინსის მილსადენი?

ნაბიჯ ნაბიჯ სახელმძღვანელო Jenkins მილსადენის შესაქმნელად


რატომ ჯენკინსს მილსადენი?

უწყვეტი მიწოდება (CD) DevOps Lifecycle– ის მნიშვნელოვანი ნაწილია.

ეს დარწმუნებულია, რომ პროგრამული უზრუნველყოფის / პროგრამის დეველოპერები ქმნიან, ყოველთვის მზად არიან წარმოებისთვის. ამისათვის, როდესაც კოდი განახლდება, საჭიროა მისი შექმნა, ტესტირება და განლაგება მუდმივად. ეს არის სურათი სადაც ჯენკინსს მილსადენი შედის.

DevOps– ში უწყვეტი ინტეგრაცია და მუდმივი მიწოდება (CI / CD) მიიღწევა ჯენკინსს პიპლაინის საშუალებით. Jenkins Pipeline– ის CD- ის გამოყენება დაგეხმარებათ პროგრამული უზრუნველყოფის სწრაფად და ხშირი გამოშვებით მიწოდებაში. ეს ხელს უწყობს გამოხმაურებების ინტეგრირებას ყოველი შემდეგი გამოცემაში.

რა არის ჯენკინსის მილსადენი?

ჯენკინსს მილსადენი არის სამუშაოების ერთობლიობა, რომელსაც ჯენკინსის მუდმივი გამოყენებით იყენებს პროგრამული უზრუნველყოფა.

მე ვფიქრობ, რომ თქვენ იცით, რა არის ჯენკინსი. თუ არა, მაშინ შეამოწმეთ ეს Udemy კურსი დაეუფლა ჯენკინსს.

ჯენკინსის მილსადენი შედგება რამდენიმე შტატის ან სტადიისაგან, რომლებიც შესრულებულია თანმიმდევრობით ერთმანეთის მიყოლებით. JenkinsFile არის მარტივი ტექსტური ფაილი, რომელიც გამოიყენება Jenkins– ში მილსადენის კოდის შესაქმნელად. ის შეიცავს კოდი Groovy დომენის სპეციფიკურ ენაზე (DSL), რომელიც მარტივია წერა და ადამიანისთვის წაკითხული..

შეგიძლიათ JenkinsFile ცალკე გაუშვათ, ან შეგიძლიათ მილსადენის კოდი განახორციელოთ Jenkins Web UI- დანაც. ჯენკინსის გამოყენებით მილსადენის შექმნის ორი გზა არსებობს.

  • დეკლარაციული – ჯენკინსს მილსადენის შექმნის ახალი გზა. აქ ჩაწერეთ “მილსადენის” ბლოკის შემცველი გროვის კოდი, რომელიც შემოწმებულია SCM (წყაროს კოდის მენეჯმენტი)
  • სკრიპტირება – გროვის კოდის წერის მეთოდი, სადაც კოდი განსაზღვრულია „კვანძის“ ბლოკებში.

სანამ დემო დემოში მოვიყვანთ, თუ არ გაქვთ დაინსტალირებული Jenkins, გთხოვთ, პირველ რიგში დააინსტალიროთ. დარწმუნდით, რომ ჯენკინსი გაქვთ თქვენს სისტემაში და მუშაობს.

შექმენით ჯენკინსის მილსადენი

ასე გამოიყურება Jenkins- ის მილსადენის ნაკადი, რომელიც შედგება მრავალი ეტაპისგან დეველოპერებს შორის, რომლებიც ქმნიან პროგრამას (კოდირებას) და პროდუქტზე გადაცემულ პროგრამას..

ჯენკინსის მილსადენი

მოდით შევქმნათ დეკლარაციული მილსადენი.

ჯენკინსის დაფაზე, დააჭირეთ ახალ ნივთს. შემდეგ შეიყვანეთ ელემენტის სახელი, მაგალითად, “პირველი მილსადენი” და შეარჩიეთ პროექტი “გაზსადენი”. შემდეგ დააჭირეთ ღილაკს, OK.

ახალი ნივთი - ჯენკინსის მილსადენი

დააჭირეთ მილსადენის ჩანართს, როგორც ნაჩვენებია ქვემოთ მოცემულ სურათზე და განათავსეთ თქვენი JenkinsFile კოდი (გროვის კოდი) აქ.

JenkinsFile Code

მილსადენი {
აგენტი ნებისმიერი
საფეხურები
ეტაპი (‘აშენება’) {
ნაბიჯები
echo ‘გამარჯობა, GeekFlare. პროგრამის შექმნას იწყებს. ‘
}
}
ეტაპი (‘ტესტი’) {
ნაბიჯები
შეყვანა (“გსურთ გააგრძელოთ?”)
}
}
ეტაპი (‘განლაგება’) {
პარალელურად
ეტაპი (“განლაგების დაწყება”) {
ნაბიჯები
ექო "განლაგების დაწყება .."
}
}
ეტაპი (“ახლა განლაგება”) {
აგენტი {
დოკერი {
reuseNode მართალია
სურათი “nginx”
}
}

ნაბიჯები
ექო "დოკერი შექმნა"
}
}
}
}
ეტაპი (‘Prod’) {
ნაბიჯები
ექო "აპლიკაცია მზად არის"
}

}
}
}

მოდით აგიხსნით ზემოთ მოცემულ ბლოკებს.

  • მილსადენი ბლოკი მოიცავს ყველა ინსტრუქციას პროგრამული უზრუნველყოფის შექმნის, შესამოწმებლად და მიწოდებისთვის. ეს არის ჯენკინსის მილსადენის მთავარი კომპონენტი.
  • ან აგენტი დაევალა შეასრულოს მილსადენი კვანძზე და გამოყოს სამუშაო ადგილი მილსადენისთვის.
  • სცენა არის ბლოკი, რომელსაც აქვს ნაბიჯები პროგრამის შექმნის, შესამოწმებლად და განლაგების მიზნით. ეტაპები გამოიყენება Jenkins მილსადენის პროცესების ვიზუალიზაციისთვის.
  • ნაბიჯი არის ერთი დავალება, რომელიც უნდა შესრულდეს, მაგალითად, შექმენით დირექტორია, გაუშვით დოკერი სურათი, წაშალოთ ფაილი და ა.შ..

Groovy კოდი ზემოთ, რომელსაც JenkinsFile- ს ვიყენებ. ნებისმიერი ხელმისაწვდომი აგენტი მილსადენს ენიჭება. შემდეგ მე ვაკეთებ მშენებლობის ეტაპზე და ვასრულებ მარტივი ექო ნაბიჯს. შემდეგ მე განვსაზღვრე ტესტის ეტაპი, სადაც ნაბიჯი მეკითხება, გინდა თუ არა გაგრძელება. ამის შემდეგ, მე შევქმენი განლაგების ეტაპი, რომლის პარალელურად მიმდინარეობს კიდევ ორი ​​ეტაპი. განლაგების დაწყების სტადიას აქვს ნაბიჯი echo ბრძანებით, ხოლო განლაგებას ახლა აქვს ნაბიჯი, რომელიც კვანძზე ნინქსის დოკერის სურათს უბიძგებს. დაბოლოს, არსებობს Prod ეტაპი, მარტივი ექო ნაბიჯით.

ზემოხსენებულ მილსადენს აქვს საფეხურები, რომელთა მარტივი ნაბიჯებია თქვენთვის, თუ როგორ მუშაობს ის. მას შემდეგ რაც შეიტყობთ როგორ უნდა შექმნათ მილსადენი, შეგიძლიათ დაამატოთ მეტი სირთულე და ასევე შექმნათ რთული მილსადენები.

მას შემდეგ, რაც კოდი შეიტანეთ მილსადენს, დააჭირეთ ღილაკს Apply და Save. დაბოლოს, დააჭირეთ Build Now- ს, რომ ახლავე შექმენით Jenkins მილსადენის მშენებლობა.

ახლა აშენება

ასე გამოიყურება მომხმარებლის ინტერფეისი, როდესაც მილსადენი გადის. თუ სწორად დაიცავით ყველა ნაბიჯი, თქვენი მშენებლობა წარმატებული იქნება, ხოლო ეს აშენებს ლურჯ ფერს (# 27). თუ შეცდომები არსებობს, ეს მისცემს წითელ ფერს (# 27).

Jenkins Build 27

ახლა დააჭირეთ ღილაკს # 27 აშენებაზე და შემდეგ დააჭირეთ Console Output– ს, რომ შეამოწმოთ რა მოხდა მოხდა უკანა პლანზე, როდესაც ის გამოვიდა.

Jenkins Build

ასე გამოიყურება გამომავალი დასრულებული SUCCESS გაგზავნით.

წარმატებული კონსოლის გამომავალი

დაიწყო მომხმარებლის geekflare
გამძლეობის დონის გაშვება: MAX_SURVIVABILITY
[მილსადენი] მილსადენის დაწყება
[მილსადენი] კვანძი
მიმდინარეობს ჯენკინსში / var / lib / jenkins / workspace / პირველი მილსადენი
[მილსადენი]
[მილსადენი] ეტაპი
[მილსადენი] {(აშენება)
[მილსადენი] ექო
გამარჯობა, GeekFlare. აპის დაარსების დაწყება.
[მილსადენი]
[მილსადენი] // ეტაპი
[მილსადენი] ეტაპი
[მილსადენი] {(ტესტი)
[მილსადენის] შეყვანა
გსურთ გაგრძელება?
გაგრძელება ან გაუქმება
დამტკიცებულია geekflare
[მილსადენი]
[მილსადენი] // ეტაპი
[მილსადენი] ეტაპი
[მილსადენი] {(განლაგება)
[მილსადენი] პარალელურად
[მილსადენი] {(ფილიალი: განლაგების დაწყება)
[მილსადენი] {(ფილიალი: ახლა განლაგება)
[მილსადენი] ეტაპი
[მილსადენი] {(განლაგების დაწყება)
[მილსადენი] ეტაპი
[მილსადენი] {(აწარმოებს ახლა)
[მილსადენი] getContext
[მილსადენი] არის უნიქსი
[მილსადენი] sh
[მილსადენი] ექო
განლაგების დაწყება ..
[მილსადენი]
+ დოკერის შემოწმება -ფ. nginx
[მილსადენი] // ეტაპი
[მილსადენი]

შეცდომა: არ არსებობს ასეთი ობიექტი: nginx
[მილსადენი] არის უნიქსი
[მილსადენი] sh
+ docker pull nginx
ნაგულისხმევი ტეგის გამოყენება: უახლესი
უახლესი: გამოყვანა ბიბლიოთეკიდან / nginx
8d691f585fa8: გაყვანა fs ფენა
5b07f4e08ad0: fs ფენის გაყვანა
abc291867bca: fs ფენის გაყვანა
abc291867bca: შემოწმების შემოწმება
abc291867bca: ჩამოტვირთვა დასრულებულია
5b07f4e08ad0: შემოწმების შემოწმება
5b07f4e08ad0: ჩამოტვირთვა სრულად
8d691f585fa8: შემოწმების შემოწმება
8d691f585fa8: ჩამოტვირთეთ სრული
8d691f585fa8: გაიყვანეთ დასრულებული
5b07f4e08ad0: გაიყვანეთ სრულად
abc291867bca: გაიყვანეთ სრულად
დაიჯესტი: sha256: 922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
სტატუსი: ჩამოტვირთეთ ახალი სურათი nginx– ისთვის: უახლესი
[მილსადენი] with DockerContainer
როგორც ჩანს, ჯენკინსი კონტეინერში არ გადის
$ docker run -t -d -u 125: 131 -w "/ var / lib / jenkins / workspace / პირველი მილსადენი" -v "/ var / lib / jenkins / workspace / პირველი მილსადენი: / var / lib / jenkins / სამუშაო ადგილი / პირველი მილსადენი: rw, z" -v "/ var / lib / jenkins / სამუშაო ადგილი / პირველი [ელ.ფოსტა დაცულია]: / var / lib / jenkins / სამუშაო ადგილი / პირველი [ელ.ფოსტა დაცულია]: რვ, ზ" -e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** nginx კატა
$ docker top 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943 -oo pid, comm
[მილსადენი]
[მილსადენი] ექო
დოკერი შექმნა
[მილსადენი]
$ დოკერის გაჩერება – დრო = 1 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
$ docker rm -f 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
[მილსადენი] // withDockerContainer
[მილსადენი]
[მილსადენი] // ეტაპი
[მილსადენი]
[მილსადენი] // პარალელურად
[მილსადენი]
[მილსადენი] // ეტაპი
[მილსადენი] ეტაპი
[მილსადენი] {(პროდუქტი)
[მილსადენი] ექო
აპლიკაცია მზად არის
[მილსადენი]
[მილსადენი] // ეტაპი
[მილსადენი]
[მილსადენი] // კვანძი
[მილსადენი] მილსადენის დასასრული
დასრულდა: წარმატებები

ზემოხსენებულმა ჯენკინსმა მილსადენმა შექმნა ნგინგსის დოკერის სურათი. თქვენ შეგიძლიათ დაადასტუროთ ის, რომ ქვემოთ მოცემულია ბრძანება. თქვენ ასევე შეგიძლიათ ნახოთ Nginx docker- ის სურათიც.

[ელ.ფოსტა დაცულია]: ~ $ დოკერის სურათი ls
რეპოზიტორის TAG გამოსახულების ID- ს შექმნა ზომა
nginx უახლესი 540a289bab6c 2 კვირის წინ 126MB
httpd უახლესი 7d85cc3b2d80 2 თვის წინ 154MB
redis უახლესი f7302e4ab3a8 2 თვის წინ 98.2MB
geekflare_mongodb უახლესი 095d17727ca0 3 თვის წინ 325MB

დასკვნა

ვიმედოვნებ, რომ ეს მოგცემთ იდეას ჯენკინსის მილსადენი სარგებელი და როგორ შეგიძლიათ შექმნათ ერთი. ზემოთ მოცემულია მარტივი დემონსტრირება, ხოლო სწავლის საუკეთესო გზა რთული მილსადენების მშენებლობის მცდელობაა.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map