with plugin not jfrog found command-line gradle artifactory

command line - plugin - ¿Cómo implemento un archivo en Artifactory usando la línea de comandos?



artifactory gradle repository (6)

He pasado mucho más tiempo en esto de lo que me gustaría admitir. Estoy tratando de implementar un solo archivo en mi servidor de Artifactory desde la línea de comandos. Estoy haciendo esto usando gradle porque así es como administramos nuestras compilaciones java. Sin embargo, este artefacto es un artefacto de compilación NDK / JNI, y no usa gradle.

Así que solo necesito el script de gradle más simple para hacer el despliegue. Algo equivalente a:

scp <file> <remote>

Actualmente estoy tratando de usar el complemento de artifactory , y estoy teniendo poca suerte en encontrar una referencia para el complemento.


Eche un vistazo a la API REST de Artifactory , en su mayoría no puede usar el comando scp , en su lugar use el comando curl para la API REST.

$ curl -X POST $SERVER/$PATH/$FILE --data @localfile

Sobre todo parece

$ curl -X POST http://localhost:8081/artifactory/abc-snapshot-local/remotepath/remotefile --data @localfile

El comando scp solo se usa si realmente desea acceder a la carpeta interna que está gestionada por artifactory


En lugar de usar el comando curl , recomiendo usar la CLI jrog .

Descargue desde aquí - https://www.jfrog.com/getcli/ y use el siguiente comando (asegúrese de que el archivo sea ejecutable) -

./jfrog rt u <file-name> <upload-path>

Aquí hay un ejemplo simple:

./jfrog rt u sample-service-1.0.0.jar libs-release-local/com/sample-service/1.0.0/

Se le solicitarán las credenciales y la URL del repositorio por primera vez.

Puede hacer muchas otras cosas con esta herramienta CLI, consulte las instrucciones detalladas aquí: https://www.jfrog.com/confluence/display/RTF/JFrog+CLI .


Irónicamente, estoy respondiendo a mi propia pregunta. Después de un par de horas más trabajando en el problema, encontré un proyecto de ejemplo en github: https://github.com/JFrogDev/project-examples

El proyecto incluso incluye un script de bash directo para realizar la implementación / copia exacta desde la línea de comando que estaba buscando, así como un par de scripts de gradle menos directos.


La documentación para el complemento de artifactory se puede encontrar, como se esperaba, en la Guía del usuario de Artifactory .

Tenga en cuenta que se recomienda utilizar el nuevo complemento, artifactory-publish , que admite el nuevo modelo de publicación de Gradle.

Con respecto a la carga desde la línea de comandos, realmente no necesitas gradle para eso. Puede ejecutar una consulta PUT simple utilizando CURL o cualquier otra herramienta.

Y, por supuesto, si solo desea obtener su archivo en Artifactory, siempre puede implementarlo a través de la interfaz de usuario .


rizo POST no funcionó para mí. PUT funcionó correctamente. El uso es

curl -X PUT $SERVER/$PATH/$FILE --data-binary @localfile

ejemplo:

$ curl -v --user username:password --data-binary @local-file -X PUT "http://<artifactory server >/artifactory/abc-snapshot-local/remotepath/remotefile"


$ 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