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
74
[RU] GIMME your first Autotest!
lanwen
1
400
SPb Jenkins Meetup #0 Как начать писать плагин для Jenkins? И когда этого не делать?
lanwen
3
590
Other Decks in Technology
See All in Technology
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
190
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
130
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
強いチームと開発生産性
onk
PRO
35
11k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
120
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Documentation Writing (for coders)
carmenintech
65
4.4k
Building Your Own Lightsaber
phodgson
103
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Designing the Hi-DPI Web
ddemaree
280
34k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Happy Clients
brianwarren
98
6.7k
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