Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Juseppe
Search
Merkushev Kirill
May 27, 2016
Technology
1
540
Juseppe
Jenkins Update Site Embedded for Pluigin Publishing Easily
Merkushev Kirill
May 27, 2016
Tweet
Share
More Decks by Merkushev Kirill
See All by Merkushev Kirill
Проект на Java и библиотеке Reactor - а как же тесты?
lanwen
0
93
Your tests will ask you to repeat. Scallable Immutable Selenium Infrastructure.
lanwen
1
340
[RU] Codegeneration in Java as way to solve autotest problems
lanwen
0
170
[RU] Codegeneration as way to help test automation engeneers
lanwen
0
75
[RU] GIMME your first Autotest!
lanwen
1
400
SPb Jenkins Meetup #0 Как начать писать плагин для Jenkins? И когда этого не делать?
lanwen
3
610
Other Decks in Technology
See All in Technology
組み込みアプリパフォーマンス格闘記 検索画面編
wataruhigasi
1
190
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.5k
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.4k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
190
Web APIをなぜつくるのか
mikanichinose
0
960
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
220
10年もののバグを退治した話
n_seki
0
110
C++26 エラー性動作
faithandbrave
2
850
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
330
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.8k
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
190
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
130
KATA
mclloyd
29
14k
Documentation Writing (for coders)
carmenintech
67
4.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
830
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Why Our Code Smells
bkeepers
PRO
335
57k
How GitHub (no longer) Works
holman
311
140k
Unsuck your backbone
ammeep
669
57k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Transcript
Juseppe Меркушев Кирилл Яндекс
2 Jenkins Update Site Embedded for Plugin Publishing Easily J
bit.ly/juseppe U S E P P E
Что это? 3 Update Site Список расширений Рекомендации * История
Ядро Тулы
4 Когда нужно? Как получить? Как сделан? Что ещё?
5 Когда нужно? Что ещё? Как получить? Как сделан?
Когда нужно? 6 *.HPI / *.JPI
Когда нужно? 7 *.HPI / *.JPI
Когда нужно? 8 Глобальный конфиг Управление плагинами Дополнительно
Когда нужно? 9 *.HPI / *.JPI
Когда нужно? 10 *.HPI / *.JPI
Когда нужно? 11 Juseppe
12 Когда нужно? Что ещё? Как получить? Как сделан? Quick
Start
$ docker run --name juseppe \ -v /your/plugins/dir/:/juseppe/plugins/ \ -e
JUSEPPE_BASE_URI=http://my.company.com \ -p 80:8080 lanwen/juseppe Как получить? Как получить? 13
$ docker run --name juseppe \ -v /your/plugins/dir/:/juseppe/plugins/ \ -e
JUSEPPE_BASE_URI=http://my.company.com \ -p 80:8080 lanwen/juseppe Папка с HPI/JPI Как получить? 14
$ docker run --name juseppe \ -v /your/plugins/dir/:/juseppe/plugins/ \ -e
JUSEPPE_BASE_URI=http://my.company.com \ -p 80:8080 lanwen/juseppe Базовый URL Как получить? 15
Ready! Как получить? 16 http://${JUSEPPE_BASE_URI}/update-center.json
На Jenkins: Как получить? 17 UpdateSites Manager plugin
$ docker run --rm lanwen/juseppe cert -----BEGIN CERTIFICATE----- MIIDZTCCAk2gAwIBAgIJAPlUddznKBcWMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV BAYTAkVOMRYwFAYDVQQIDA1VcGRhdGUtQ2VudGVyMRAwDgYDVQQHDAdKdXNlcHBl
. . . Сертификат Как получить? 18
Апдейты в один клик! Как получить? 19 INFO: Obtained the
latest update center data file for UpdateSource juseppe 2016-05-21 16:11:08 INFO RequestLog:60 - 172.17.42.1 - - [1463847068536] "GET /update-center.json?id=juseppe&version=1.642.1 HTTP/1.1" 200 7418
20 Когда нужно? Что ещё? Как получить? Как сделан? Advanced
Mode: ON
Как получить? 21 bit.ly/juseppe-guide
Как получить? 22 SSH SCP RSYNC
Как получить? 23 SSH MAVEN +
<build> <!-- ... --> <extensions> <!-- Enabling the use of
SSH --> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh-external</artifactId> </extension> </extensions> </build> Autodeploy Как получить? 24
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <!—- . . . —> <goal>upload-single</goal> <!—-
. . . —> <configuration> <fromFile>${project.build.directory}/${finalName}.hpi</fromFile> <url>scpexe://${plugin-repo}</url> </configuration> </plugin> Autodeploy Как получить? 25
26 Когда нужно? Что ещё? Как получить? Как сделан?
Как сделан? 27 HPI/JPI JAR META-INF/MANIFEST.MF Что такое HPI/JPI new
JarFile(file).getManifest().getMainAttributes() "Plugin-Dependencies" "Hudson-Version" . . .
Как сделан? 28 JUSEPPE CORE Внутри Juseppe Signer CLI Parser
Beans File Watcher Embeded Jetty Default Servlet
Ключ + Сертификат openssl genrsa -out uc.key 2048 \ &&
openssl req -nodes -x509 -new \ -key uc.key \ -out uc.crt \ -days 1056 \ -subj "/C=EN/ST=Update-Center/L=Juseppe/O=Juseppe" Как сделан? 29
30 Когда нужно? Что ещё? Как получить? Как сделан?
Что еще? 31 JUCIES github.com/jucies
Что еще? 32 JUCIES github.com/jucies repo/plugin-name Releases +
Что еще? 33 Ограничения
Что еще? 34 Ограничения Не рекурсивно Нестабильные + стабильные в
куче Не умеет мавен репозиторий Нет тулов и ядер Нет рекомендаций по плагинам*
Что еще? 35 Мечты? Свой плагин Автозеркало* Не про автомобиль
Что еще? 36 Вопросы?
[email protected]
github.com/lanwen @delnariel