მიაწოდეთ CI მორბენალი
ჩვენ უნდა გავუმასპინძლოთ ჩვენს საკუთარ CI მორბენალებს, თუ თქვენ გაქვთ სათადარიგო კომპიუტერი ან სერვერი და გაქვთ თავისუფალი დრო Veloren-ისთვის, ეს ძალიან დაგვეხმარება.
რა არის CI?
უწყვეტი ინტეგრაცია (CI) არის ავტომატური ტესტებისა და ამოცანების ნაკრები, რომელიც მუშაობს GitLab-ის რეპოზე ყოველ ჯერზე კოდის დამატებისას. ეს ნიშნავს, რომ შერწყმის მოთხოვნებს აქვს კოდების ბაზის დარღვევის ნაკლები შანსი და ჩვენ შეგვიძლია ავტომატურად მივიღოთ შემოტანილი კოდის კონსტრუქციები, სხვა უპირატესობებთან ერთად.
ჩვენ გვჭირდება თქვენი კომპიუტერი, რომელიც დაგვეხმარება ტესტირებაში. CI-ის გაშვება უფასო არ არის, ამიტომ ჩვენ ვიყენებთ საკუთარ კომპიუტერებს ამისათვის.
ტექნოლოგია
ჩვენ ვიყენებთ GitLab runner-ებს Docker-თან ერთად.
მოთხოვნები
-
= 2 CPU ბირთვი. ჩვენ არ ვიწვევთ მუდმივ 100% დატვირთვას, მაგრამ როდესაც კომპილაციაც კი მოდის, მეტი ბირთვი ეხმარება მათ სწრაფად დამუშავებას.
- 50 გიბაიტი თავისუფალი ადგილი HDD-ზე. Docker გამოსახულება შეიცავს ქეშს და არის დაახლოებით 20 გიბაიტი, დამატებით ქეშებს შეუძლიათ მეტი ადგილი დაიკავონ.
-
= 1 მბიტ/წმ ინტერნეტი. თქვენ არ გჭირდებათ სწრაფი ინტერნეტი, მაგრამ მორბენალი დროდადრო დაუკავშირდება ინტერნეტს. უცვლელი განაკვეთი იდეალურია.
დააინსტალირეთ მორბენალი
უპირველეს ყოვლისა, თქვენ მოგიწევთ დაუკავშირდეთ შემსრულებელს GitLab runner ტოკენის მისაღებად. ამისათვის ან გაგზავნეთ @xMAC94x, ან @AngelOnFira. ჩვენ, ალბათ, დავრწმუნდებით, რომ თქვენ ცოტა ხანი იყავით პროექტთან, რადგან არ გვინდა ეს ნიშანი ვინმეს მივცეთ.
დაგჭირდებათ Docker-ის დაყენება, რადგან მას ყველა კონსტრუქცია იყენებს. შეგიძლიათ მიჰყვეთ ინსტრუქციას აქ,
კლონირეთ ჩვენი Veloren CI repo და დაიწყეთ დამხმარე სკრიპტი runner დირექტორიადან
git clone https://gitlab.com/veloren/veloren-docker-ci
cd veloren-docker-ci/runner
./launch-runner.sh
# provide the token from above
# provide a name in the style: `<discord-username>-<descriptor>`. So for example, @angelonfira's might be `angelonfira-server-1`.
სკრიპტს დაახლოებით 10 წუთი დასჭირდება და როდესაც ის დასრულდება, Docker კონტეინერი იწყება ფონზე. მას მხოლოდ გადამამუშავებელი სიმძლავრე დასჭირდება, როცა შესასრულებელია Pipelines.
ამჟამად, სკრიპტი არის მხოლოდ Linux-ის, თუ თქვენ მართავთ Windows-ს, უმჯობესია შექმნათ Linux VM (მაგ. VirtualBox-ისა და Ubuntu Server 20.04-ის გამოყენებით)
განაახლეთ მორბენალი
ქეშების ეფექტურად გამოსაყენებლად, ჩვენ გვჭირდება მინიმუმ gitlab-runner v13.8.0.
თუ თქვენი მორბენალი უფროსია, გთხოვთ, ხელახლა შექმენით მორბენალი, შეგიძლიათ გამოიყენოთ update-runner.sh სკრიპტი.
გაითვალისწინეთ, რომ ის ინტერაქტიულია და საჭიროებს თქვენს შეყვანას
# 1. update repo veloren-docker-ci repo
git pull
# 2. go in runner folder
cd runner
# 3. execute update script
./update-runner.sh
# provide if you want to prune old images, choose yes except if you have certain images you want to keep or run other Docker containers
# provide the CONTAINER ID that reflects the old image
# see the Install section above for re-setting up the runner