openSUSE:Build Service Curl

Μετάβαση σε: πλοήγηση, αναζήτηση

Πως να χρησιμοποιήσετε το curl για ανάπτυξη στο build service

Να σημειωθεί ότι, ο πελάτης της γραμμής εντολών osc έχει ένα τρόπο να εκδίδει γενικές εντολές. Οπότε ίσως να μην χρειαστεί να καταφύγετε στο curl.
Δείτε το osc help api.

Το Curl είναι ένα εργαλείο γραμμής εντολών για την μεταφορά δεδομένων από ή προς κάποιο διακομιστή, με τη χρήση ενός από τα υποστηριζόμενα πρωτόκολλα (HTTP, HTTPS, FTP, FTPS, TFTP, DICT, TELNET, LDAP ή FILE).

Η εντολή είναι σχεδιασμένη να λειτουργεί χωρίς διαδραστικότητα από το χρήστη.

Μπορεί να βοηθήσει πολύ στον έλεγχο του openSUSE build service API κατά την ανάπτυξη.


Εδώ βρίσκονται οι πιο συνηθισμένες εντολές:


Αίτηση GET

curl -u username:password -X GET https://$APISERVER/any/path

Αίτηση PUT

curl -u username:password -X PUT -T /path/to/file/to/put https://$APISERVER/any/path

Αίτηση POST

curl -u username:password -X POST -T /path/to/file/to/post https://$APISERVER/any/path

Αίτηση DELETE

curl -u username:password -X DELETE https://$APISERVER/any/path

Παραδείγματα για το openSUSE build service

Παρακαλείσθε να κάνετε τα ακόλουθα πριν δοκιμάσετε τις παρακάτω εντολές:

export APISERVER=api.opensuse.org
export ARCH=i586
export FILENAME=filename
export PACKAGE=package
export PROJECT=openSUSE:Factory
export REPOSITORY=standard
export REVISION=r1
export USERNAME=username
export PASSWORD=password

Διαγραφή ενός αρχείου pattern

curl  -u $USERNAME:$PASSWORD -X DELETE  https://$APISERVER/source/$PROJECT/_pattern/$FILENAME

Λήψη μεταδεδομένων για ένα μεμονωμένο πακέτο

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/source/$PROJECT/$PACKAGE/_meta

Λήψη μιας συγκεκριμένης έκδοσης ενός πηγαίου αρχείου

curl -u $USERNAME:$PASSWORD -X GET  https://$APISERVER/source/$PROJECT/$PACKAGE/$FILENAME?rev=$REVISION

Λήψη μιας λίστας από δυαδικά i586 κατασκευασμένα σε ένα έργο

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/build/$PROJECT/i586/_binarylist

Λήψη μιας λίστας από δημοσιευμένα δυαδικά i586 για ένα έργο

curl  -u $USERNAME:$PASSWORD -X GET https://$APISERVER/published/$PROJECT/openSUSE_10.3/i586

Εκκίνηση ανακατασκευής για όλα τα πακέτα στην arch & repo

curl -u $USERNAME:$PASSWORD -X POST -H "Content-Length:0" "https://$APISERVER/build/$PROJECT?cmd=rebuild&arch=$ARCH&repository=$REPOSITORY"

Εκκίνηση μιας διαγραφής των εξαιρεθέντων πακέτων

Για να αποκλείσετε οριστικά πακέτα για μια αρχιτεκτονική με το "ExcludeArch:" στο specfile, χρησιμοποιήστε

curl -u $USERNAME:$PASSWORD -X POST -H "Content-Length:0" "https://$APISERVER/build/$PROJECT?code=excluded&cmd=wipe"