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.
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"
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 .
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 .
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
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.
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
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