Σύστημα Συνεχής Ολοκλήρωσης για Python βάση κώδικα




Αρχίζω να εργαστεί σε ένα πρόγραμμα χόμπι με **Python** βάση κώδικα και θα ήθελα να δημιουργήσει κάποια μορφή συνεχούς ολοκλήρωσης (δηλαδή τρέχει μια μπαταρία των δοκιμών περιπτώσεις κάθε φορά που το check-in γίνεται και η αποστολή γκρινιάζουν e-mail στην υπεύθυνη πρόσωπα, όταν οι δοκιμές δεν) είναι παρόμοια με **CruiseControl** ή **TeamCity** .


Αντιλαμβάνομαι θα μπορούσα να κάνω αυτό με άγκιστρα στα περισσότερα **VCSes** , αλλά αυτό προϋποθέτει ότι οι δοκιμές τρέχουν στον ίδιο υπολογιστή με το διακομιστή ελέγχου έκδοσης, η οποία δεν είναι τόσο κομψό όσο θα ήθελα. Υπάρχει κάποιος που έχει οποιεσδήποτε προτάσεις για ένα μικρό, φιλικό προς το χρήστη, το σύστημα συνεχούς ολοκλήρωσης open-source κατάλληλο για **Python** βάση κώδικα;
Τρέχουμε [Buildbot - Trac](http://buildbot.net/trac) στην εργασία. Δεν έχω χρησιμοποιήσει πάρα πολύ από την βάση κώδικα μου δεν είναι μέρος του κύκλου κυκλοφορίας ακόμα. Αλλά θα τρέξει τις δοκιμές σε διαφορετικά περιβάλλοντα (OSX / Linux / Win) και στέλνει μηνύματα ηλεκτρονικού ταχυδρομείου - και είναι γραμμένο σε Python.
εγω χρησιμοποιω το maim αντι του scrot και εχω βαλει αυτο για το prtsc:

bindsym print exec --no-startup-id maim pic-full-"$(date '+%y%m%d-%h%m-%s').png Κάνατε πολύ καλή δουλειά στο να συνοψίσετε τι είναι φοβερό στο Node.js. Η αίσθησή μου είναι ότι το Node.js είναι ιδιαίτερα κατάλληλο για εφαρμογές όπου θα θέλατε να διατηρήσετε μια μόνιμη σύνδεση από το πρόγραμμα περιήγησης πίσω στον διακομιστή. Χρησιμοποιώντας μια τεχνική γνωστή ως ["long-polling"](https://en.wikipedia.org/wiki/Push_technology#Long_polling), μπορείτε να γράψετε μια εφαρμογή που στέλνει ενημερώσεις στον χρήστη σε πραγματικό χρόνο. Η πραγματοποίηση long polling σε πολλούς από τους γίγαντες του διαδικτύου, όπως το [Ruby on Rails](https://en.wikipedia.org/wiki/Ruby_on_Rails) ή το [Django](https://en.wikipedia.org/wiki/Django_%28web_framework%29), θα δημιουργούσε τεράστιο φόρτο στον διακομιστή, επειδή κάθε ενεργός πελάτης τρώει μια διεργασία του διακομιστή. Αυτή η κατάσταση ισοδυναμεί με επίθεση [tarpit](https://en.wikipedia.org/wiki/Tarpit_(networking)). Όταν χρησιμοποιείτε κάτι όπως το Node.js, ο διακομιστής δεν έχει ανάγκη να διατηρεί ξεχωριστά νήματα για κάθε ανοιχτή σύνδεση. 


Αυτό σημαίνει ότι μπορείτε να δημιουργήσετε μια [εφαρμογή συνομιλίας με βάση το πρόγραμμα περιήγησης](https://github.com/rivalslayer/node_chat) σε Node.js που δεν χρειάζεται σχεδόν καθόλου πόρους συστήματος για να εξυπηρετεί πολλούς πελάτες. Κάθε φορά που θέλετε να κάνετε αυτού του είδους τη μακροχρόνια αναζήτηση, το Node.js είναι μια εξαιρετική επιλογή. 


Αξίζει να αναφέρουμε ότι και η Ruby και η Python έχουν εργαλεία για να κάνουν κάτι τέτοιο ([eventmachine](http://rubyeventmachine.com/) και [twisted](https://twistedmatrix.com/trac/), αντίστοιχα), αλλά ότι το Node.js το κάνει εξαιρετικά καλά, και από την αρχή. Η JavaScript είναι εξαιρετικά καλά τοποθετημένη σε ένα μοντέλο ταυτόχρονης λειτουργίας βασισμένο σε callback, και υπερέχει εδώ. Επίσης, η δυνατότητα σειριοποίησης και αποσειριοποίησης με JSON εγγενές τόσο στον πελάτη όσο και στον διακομιστή είναι αρκετά έξυπνη.


Ανυπομονώ να διαβάσω άλλες απαντήσεις εδώ, αυτή είναι μια φανταστική ερώτηση.


Αξίζει να επισημάνουμε ότι το Node.js είναι επίσης εξαιρετικό για καταστάσεις στις οποίες θα επαναχρησιμοποιήσετε πολύ κώδικα σε όλο το χάσμα πελάτη/εξυπηρετητή. Το [Meteor framework](https://meteor.com) το κάνει αυτό πολύ εύκολο, και πολλοί άνθρωποι προτείνουν ότι αυτό μπορεί να είναι το μέλλον της ανάπτυξης ιστοσελίδων. Μπορώ να πω από την εμπειρία μου ότι είναι πολύ διασκεδαστικό να γράφεις κώδικα στο Meteor, και ένα μεγάλο μέρος αυτού είναι να ξοδεύεις λιγότερο χρόνο σκεπτόμενος πώς θα αναδομήσεις τα δεδομένα σου, ώστε ο κώδικας που εκτελείται στο πρόγραμμα περιήγησης να μπορεί εύκολα να τα χειριστεί και να τα μεταβιβάσει πίσω.


Εδώ είναι ένα άρθρο για το Pyramid και το long-polling, το οποίο αποδεικνύεται ότι είναι πολύ εύκολο να ρυθμιστεί με λίγη βοήθεια από το gevent: [*TicTacToe και Long Polling με την Pyramid*](http://michael.merickel.org/2011/6/21/tictactoe-and-long-polling-with-pyramid/). εγώ θα πρότεινα sparky

<https://sparkylinux.org/download/stable/>
<https://sparkylinux.org/download/rolling/>

έχει εκδόσεις lxqt, xfce, και minimalgui (νομίζω openbox). διάλεξε ανάλογα με τα γούστα, πιο ενδιαφέρουσα επιλογή είναι το lxqt, το xfce είναι κάπως πιο συνηθισμένο/γνώριμο, το openbox είναι … <p>απλά χρησιμοποιήστε <a href="http://ruby-doc.org/core-1.9.3/array.html#method-i-sample"><code>array#sample</code></a> :</p><pre><code>[:foo, :bar].sample # =&gt; :foo, or :bar :-) </code></pre><p>διατίθεται σε ruby 1.9.1+. για να μπορέσετε να το χρησιμοποιήσετε με μια προηγούμενη έκδοση του ruby, θα μπορούσατε <a href="https://github.com/marcandre/backports"><code>require "backports/1.9.1/array/sample"</code></a> .</p><p>σημειώστε ότι στο ruby 1.8.7 υπάρχει κάτω από το ατυχές όνομα <code>choice</code>; μετονομάστηκε σε μεταγενέστερη έκδοση, επομένως δεν πρέπει να το χρησιμοποιήσετε.</p><p>παρόλο που δεν είναι χρήσιμη σε αυτή την περίπτωση, το <code>sample</code> δέχεται ένα όρισμα αριθμού σε περίπτωση που θέλετε μια σειρά διακριτών δειγμάτων.</p> θα πρέπει να κατεβάσεις το αρχείο ως έχει, αλλά για ποιο λόγο να κάνεις build; νεότερες οδηγίες στα ελληνικά υπάρχουν εδώ

[εικόνα]

[scrcpy: έλεγχος του android μέσω του υπολογιστή](https://cerebrux.net/2020/08/13/scrcpy-android-ipologistis/)

σήμερα θα δούμε πως μπορούμε να πλοηγηθούμε στο android κινητό με το ποντίκι μας μέσω του scrcpy. το scrcpy μπ… καλά τα λες, στο cerebrux γράφτηκε

[εικόνα]

[ventoy | φτιάξε multiboot usb εύκολα σε windows και linux](https://cerebrux.net/2021/01/04/ventoy-multiboot-usb-windows-linux/)

έχοντας δοκιμάσει αρκετές εφαρμογές για δημιουργία multiboot usb με πολλές διανομές σε ένα στικάκι, το ventoy είναι αυτό που δεν ήξερες ότι ψάχνεις.… μετά από πληροφορίες που βρήκα το έφτιαξα,

γενικά το κατάλαβα αμέσως όταν έκανα την βλακεία και δεν έκλεισα τον υπολογιστή. οπότε είχα διαθέσιμο τον υπολογιστή μου για την επιδιόρθωση αφού το λειτουργικό ήταν φορτομένο στη ram. έχουμε και λέμε:

με την εφαρμογή disks. ξαναδημιούργησα το partition… αυτό που λέει ο [@souiters](/u/souiters) κοίτα εδώ:<https://www.linuxmint.com/rel_tricia_cinnamon.php> στο κάτω μέρος εκεί που λέει: solving freezes during the boot sequence κατέβασε το πακέτο perl-cddb με την εντολή :

git clone https://aur.archlinux.org/perl-cddb.gitμπες μέσα στον φάκελο που δημιουργήθηκε και άνοιξε το αρχείο pkgbuild με έναν texteditor της επιλογής σου.

στη συνέχεια κάνε comment την γραμμή :

make test

να γίνει δηλαδή έτσι :

#make test

σώσε και τ… Θα πρέπει να δώσετε περισσότερες πληροφορίες σχετικά με το περιβάλλον ανάπτυξής σας για να πάρετε μια συγκεκριμένη απάντηση.


Για παράδειγμα, με ένα C # έργο στο Visual Studio, μπορείτε να κάνετε δεξί κλικ στα Project-> Ιδιότητες και, στη συνέχεια, να συμπληρώσετε το πεδίο «Εντολή επιχειρήματα γραμμή» στην καρτέλα «Debug».