Jak wdrożyć plik do Artifactory za pomocą wiersza poleceń?

Spędziłem nad tym więcej czasu, niż mogę przyznać. Próbuję po prostu wdrożyć jeden plik na moim serwerze Artifactory z linii poleceń. Robię to za pomocą gradle, ponieważ w ten sposób zarządzamy naszymi kompilacjami Javy. Jednak ten artefakt jest artefaktem NDK / JNI i nie używa gradle.

Więc potrzebuję najprostszego skryptu gradle do wdrożenia. Coś równoważnego:

scp <file> <remote>

Obecnie próbuję użyć wtyczki artifactory i mam małe szczęście w lokalizowanie odniesienia do wtyczki.

Author: Andrew Prock, 2013-11-19

6 answers

Curl POST nie działa dla mnie . Umieścić pracował poprawnie . Użycie to

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

Przykład:

$ curl -v --user username:password --data-binary @local-file -X PUT "http://<artifactory server >/artifactory/abc-snapshot-local/remotepath/remotefile"
 38
Author: diptia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-25 02:30:44

Zamiast używać polecenia curl, zalecam użycie jrog CLI.

Pobierz stąd - https://www.jfrog.com/getcli/ i użyj następującego polecenia (upewnij się, że plik jest wykonywalny) -

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

Oto prosty przykład:

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

Po raz pierwszy zostaniesz poproszony o podanie danych uwierzytelniających i adresu URL repo.

Możesz zrobić wiele innych rzeczy za pomocą tego narzędzia CLI, sprawdź szczegółowe instrukcje tutaj - https://www.jfrog.com/confluence/display/RTF/JFrog+CLI .

 11
Author: Gilad Sharaby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-30 02:17:26

Dokumentacja wtyczki artifactory znajduje się, zgodnie z oczekiwaniami, w Artifactory User Guide .

Należy pamiętać, że zaleca się użycie nowszej wtyczki- artifactory-publish , która obsługuje nowy model publikowania Gradle.

Jeśli chodzi o przesyłanie z linii poleceń, naprawdę nie potrzebujesz do tego gradle. Możesz wykonać proste zapytanie PUT za pomocą CURL lub dowolnego innego narzędzia.

I oczywiście, jeśli chcesz po prostu dostać swój plik do Artifactory, zawsze możesz wdrożyć go za pomocą interfejsu .

 9
Author: JBaruch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-19 00:38:47

Spójrz na Artifactory REST API , w większości przypadków nie możesz użyć polecenia scp, zamiast tego użyj polecenia curl w REST API.

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

W większości wygląda jak

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

Polecenie scp jest używane tylko wtedy, gdy naprawdę chcesz uzyskać dostęp do folderu wewnętrznego, który jest zarządzany przez artifactory

 5
Author: Larry Cai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-01 10:13:52

Jak na ironię, odpowiadam na własne pytanie. Po kilku godzinach pracy nad problemem znalazłem przykładowy projekt na GitHubie: https://github.com/JFrogDev/project-examples

Projekt zawiera nawet prosty skrypt bash do wykonywania dokładnie deploy / copy z wiersza poleceń, którego szukałem, a także kilka mniej prostych skryptów gradle.

 2
Author: Andrew Prock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
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
Author: kazerm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-30 02:19:25