Comment déployer un fichier sur Artifactory en utilisant la ligne de commande?
j'ai passé beaucoup plus de temps là-dessus que je ne veux l'admettre. J'essaie juste de déployer un fichier dans mon serveur artificiel depuis la ligne de commande. Je fais ça en utilisant gradle parce que c'est comme ça que nous gérons nos constructions java. Cependant, cet artéfact est un artéfact de construction NDK/JNI, et n'utilise pas gradle.
donc j'ai juste besoin du script gradle le plus simple pour faire le déploiement. Quelque chose d'équivalent à:
scp <file> <remote>
j'essaie actuellement d'utiliser le artifactory
plugin, et je suis avoir peu de chance dans la localisation d'une référence pour le plugin.
6 réponses
curl POST n'a pas fonctionné pour moi . MIS a fonctionné correctement . L'utilisation est
curl -X PUT $SERVER/$PATH/$FILE --data-binary @localfile
exemple :
$ curl -v --user username:password --data-binary @local-file -X PUT "http://<artifactory server >/artifactory/abc-snapshot-local/remotepath/remotefile"
au Lieu d'utiliser le curl
la commande, je recommande d'utiliser le jrog
CLI.
Télécharger à partir d'ici - https://www.jfrog.com/getcli/ et utiliser la commande suivante (assurez-vous que le fichier est exécutable) -
./jfrog rt u <file-name> <upload-path>
Voici un exemple simple:
./jfrog rt u sample-service-1.0.0.jar libs-release-local/com/sample-service/1.0.0/
vous serez invité pour les informations d'identification et L'URL de repo pour la première fois.
Vous pouvez faire beaucoup d'autres choses avec ce CLI outil, consultez les instructions détaillées ici - https://www.jfrog.com/confluence/display/RTF/JFrog + CLI.
La documentation artifactory
plugin peut être trouvé, comme prévu, dans les Artifactory Guide De L'Utilisateur.
Veuillez noter qu'il est conseillé d'utiliser la plus récente du plugin - artifactory-publier, qui supporte le nouveau modèle de publication Gradle.
en ce qui concerne le téléchargement depuis la ligne de commande, vous n'avez vraiment pas besoin de gradle pour cela. Vous pouvez exécuter un simple de METTRE de la requête à L'aide de CURL ou de tout autre outil.
Et bien sûr, si vous voulez juste pour obtenir votre fichier dans Artifactory, vous pouvez toujours le déployer via l'INTERFACE utilisateur.
Prendre un coup d'oeil Artifactory REST API, le plus souvent, vous ne pouvez pas utiliser scp
la commande, au lieu d'utiliser curl
commande vers L'API REST.
$ curl -X POST $SERVER/$PATH/$FILE --data @localfile
Surtout, il ressemble à
$ curl -X POST http://localhost:8081/artifactory/abc-snapshot-local/remotepath/remotefile --data @localfile
scp
la commande n'est utilisée que si vous voulez vraiment accéder au dossier interne qui est géré par artifactory
ironiquement, je réponds à ma propre question. Après quelques heures de travail supplémentaire sur le problème, j'ai trouvé un exemple de projet sur github:https://github.com/JFrogDev/project-examples
le projet inclut même un script bash simple pour faire le déploiement/copie exacte de la ligne de commande que je cherchais, ainsi que quelques scripts Grad les moins simples.
$ curl -v -X PUT \
--user username:password \
--upload-file <path to your file> \
http://localhost:8080/artifactory/libs-release-local/my/jar/1.0/jar-1.0.jar