Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 20810|Απάντηση: 0

[Πηγή] Πώς η Jekins αναπτύσσει ένα έργο .NET Framework

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 22/11/2018 10:29:09 π.μ. | | | |
Σημείωση: Σε αυτό το άρθρο, η χρήση των λέξεων "build", "continuous build", "compile" και "generate" δεν είναι αυστηρή, απλά ξέρετε τι σημαίνει.

Πρώτα απ 'όλα, εάν θέλετε να δημιουργείτε συνεχώς, πρέπει να χρησιμοποιήσετε τη γραμμή εντολών.
Αλλά οι εντολές του dotnet core φαίνεται να είναι λίγο πιο απλές από το έργο πλαισίου dotnet.
Επειδή η εντολή build του dotnetcore είναιdotnet msbuild xxxxx.csproj/yyyyy.sln
Και η εντολή build του πλαισίου dotnet είναι.../msbuild.exe xxxx.csproj/yyyyy.sln, και το πιο μπερδεμένο μεταξύ τους (κυρίως άνθρωποι που δεν έχουν πέσει ποτέ σε λάκκο, απλά ρίξτε το) είναι αυτόmsbuild.exeΠού ακριβώς βρίσκεται;msbuild.exe? Εξάλλου, μετά την εγκατάσταση του dotnet framework SDK ή διαφορετικών εκδόσεων του Visual Studio στα Windows, θα υπάρχουν πολλάmsbuild.exe, οι άνθρωποι δεν καταλαβαίνουν ποιο να χρησιμοποιήσουν.

Ας ξεκινήσουμε με το πώς να δημιουργήσετε ένα έργο πλαισίου dotnet στα Windows, για να μην αφήσουμε την πολυπλοκότητα του ίδιου του έργου να επηρεάσει την κύρια ιδέα, εδώ πιστεύουμε ότι θέλουμε να δημιουργήσουμε ένα απλό έργο κονσόλας παρόμοιο με το Hello World.
Συνοπτικά, το περιβάλλον:
Μηχανή ανάπτυξης, Windows PC.
Εκδοτική μηχανή, Windows Server;
project, ένα απλό έργο κονσόλας πλαισίου dot net. (Χρησιμοποιώ την έκδοση 4.5.2 εδώ)

με θέμα

Είναι καλύτερο να αρχικοποιήσετε ένα νέο έργο σε μια μηχανή ανάπτυξης με διαχείριση κώδικα όπως το git, έτσι ώστε το έργο να μπορεί να κλωνοποιηθεί σε άλλα μηχανήματα με δίκτυο.
Ό,τι γράψετε στο έργο στη μηχανή ανάπτυξης, αρκεί να μπορεί να μεταγλωττιστεί. Για παράδειγμα, γεια σου κόσμε.
Επιπλέον, συνιστάται να προσθέσετε λίγη εξάρτηση από το πακέτο nuget στο έργο και να επιλέξετε ό,τι θέλετε, όπως αναφορές log4net.
Δοκιμάστε να μεταγλωττίσετε το έργο στη μηχανή ανάπτυξης.
(Μετά από πολλές προσπάθειες, επιβεβαιώθηκε ότι η γραμμή εντολών θα πρέπει να χρησιμοποιεί το msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe κατά τη μεταγλώττιση του έργου.) Ωστόσο, ο συγκεκριμένος τύπος έργου εξακολουθεί να βασίζεται στον τύπο, επιλέξτε αν θα επιλέξετε Framework64 ή όχι 64, είτε είναι v4.xxx είτε 3.x, 2.x, αυτή η έννοια είναι πολύ απλή, αν δεν μπορείτε να το καταλάβετε, θα είναι αβοήθητο)
Εάν το έργο βρίσκεται κάτω από τη διαδρομή C:\projects\test, τότε η μεταγλωττισμένη εντολή θα πρέπει να είναι:

ή
Φυσικά, μπορεί να χρειαστεί να φέρετε και άλλες παραμέτρους όπως /p:Configuration=Release /p:plotform="Οποιαδήποτε CPU", ανάλογα με την κατάσταση.

4. Στη δοκιμαστική μηχανή, git κλωνοποιήστε το έργο και προσπαθήστε να μεταγλωττίσετε το έργο με την ίδια εντολή.
5. Αν δεν τα καταφέρεις, πρέπει να συνεχίσεις να δοκιμάζεις τη σωστή msbuild.exe, διαδρομή, παραμέτρους κ.λπ., εφόσον δεν υπάρχει πρόβλημα στο περιβάλλον, σίγουρα θα τα καταφέρεις.
6. Ωστόσο, εδώ έρχεται μια πολύ τρελή ερώτηση, τι γίνεται με τις εξαρτήσεις από nuget; Τώρα δεν έχω εμφανή προβλήματα με τη μεταγλώττιση, αλλά πώς μπορώ να ξέρω πού να βρω το πακέτο nuget;
Αυτή η ερώτηση με έχει κολλήσει εδώ και πολύ καιρό.
Μεταβείτε στον επίσημο ιστότοπο του NuGet και κατεβάστε nuget.exe αρχείο.
Μετά την προσπάθεια, αυτό το αρχείο τοποθετείται στο έργο (δηλαδή στον ίδιο κατάλογο με το αρχείο SLN ή CSPROJ) και εκτελείταιnuget.exe επαναφοράεντολή για να λάβετε το απαιτούμενο πακέτο nuget. Αυτή είναι η εμπειρία που απέκτησα μετά από πολλές προσπάθειες)
Λοιπόν, μπορείτε να προσθέσετε μια ενέργεια στο σενάριο και να εκτελείτε την εντολή επαναφοράς nuget.exe κάθε φορά.
Θα ήταν επίσης λίγο πιο βολικό να προσθέσετε nuget.exe στη μεταβλητή περιβάλλοντος (χωρίς εξήγηση) και στη συνέχεια να την εκτελείτε κάθε φορά.
7. Τέλος, δοκίμασα και διαπίστωσα ότι το έργο μπορεί να μεταγλωττιστεί με επιτυχία μέσω τέτοιων λειτουργιών και εντολών στη μηχανή δημοσίευσης.
Αυτό είναι κοντά στην απόλυτη επιτυχία.
Στην πραγματικότητα, για όσους καταλαβαίνουν τι είναι τα jekins, αυτό είναι το τέλος του θέματος και τα υπόλοιπα μπορούν να γίνουν μόνοι τους.

Παρακάτω

1. Μεταβείτε στον επίσημο ιστότοπο της Jekins, κατεβάστε, εγκαταστήστε, εκκινήστε το Jekins, καταχωρήστε έναν λογαριασμό, χωρίς εξήγηση. Για έργα dotnet, πρέπει να εγκαταστήσετε τις προσθήκες msbuild, mstest και mstestrunner.

2. Καθολική διαμόρφωση Jenkins msbuild.



3. Δημιουργήστε ένα νέο έργο και διαμορφώστε το έργο



4. Κατασκευάστε το έργο.

Βασικά, η κατασκευή είναι επιτυχής και είναι εύκολο να αντιμετωπιστεί ακόμα κι αν δεν είναι επιτυχής.

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

Συμπλήρωμα:

1. Εάν το VS μπορεί να μεταγλωττιστεί με επιτυχία, αλλά υπάρχει μια μη υποστηριζόμενη γραμμή σύνταξης στη γραμμή εντολών.
Τότε μπορεί ο προγραμματιστής να μεταγλωττίζει με πιο προηγμένους συντακτικούς κανόνες (αν και το έργο βασίζεται στο .NET framework 4.5.2), όπως το C# 6.0
Το μηχάνημα έκδοσης εγκατέστησε μόνο το .NET framework 4.5.2, επομένως δεν υποστηρίζει κάποια από τις πιο πρόσφατες συντάξεις.
Επομένως, σε αυτήν την περίπτωση, εγκαταστήστε το πιο πρόσφατο SDK στο μηχάνημα έκδοσης.
Όπως φαίνεται στο σχήμα.
Λήψη SDK επίσημου ιστότοπου της Microsoft:https://www.microsoft.com/net/download/visual-studio-sdks
Κατεβάστε το αντίστοιχο SDK.
Το SDK περιλαμβάνει ήδη το Runtime.

2. Εάν η εργασία του Jekins χρειάζεται να χρησιμοποιήσει την εντολή bat των Windows για να εκτελέσει μια σειρά λειτουργιών, τότε η χρήση του "Ανατρέξτε στη λίστα των διαθέσιμων μεταβλητών περιβάλλοντος" του Jenkins θα είναι χρήσιμη.
Γράψτε το σαν "%WORKSPACE%"

3. Εάν υπάρχει χώρος στη διαδρομή, όπως π.χ C:\Program Files (x86)\Microsoft.NET, είναι απαραίτητο να προσθέσετε διπλά εισαγωγικά και στις δύο πλευρές της μεταβλητής.
Όπως:







Προηγούμενος:Ο Τζένκινς παρουσίασε εν συντομία
Επόμενος:Το Angular6 Material2 ενσωματώνει το πλαίσιο προτροπής μηνύματος ειδοποίησης
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com