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.

26
demandé sur Andrew Prock 2013-11-19 04:03:59

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"
38
répondu diptia 2015-08-25 02:30:44

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.

11
répondu Gilad Sharaby 2016-07-30 02:17:26

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.

9
répondu JBaruch 2013-11-19 00:38:47

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

5
répondu Larry Cai 2014-07-01 10:13:52

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.

2
répondu Andrew Prock 2017-11-08 22:53:23
$ 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
1
répondu kazerm 2016-07-30 02:19:25