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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Merkushev Kirill
May 27, 2016
Technology
630
1
Share
Juseppe
Jenkins Update Site Embedded for Pluigin Publishing Easily
Merkushev Kirill
May 27, 2016
More Decks by Merkushev Kirill
See All by Merkushev Kirill
Проект на Java и библиотеке Reactor - а как же тесты?
lanwen
0
110
Your tests will ask you to repeat. Scallable Immutable Selenium Infrastructure.
lanwen
1
390
[RU] Codegeneration in Java as way to solve autotest problems
lanwen
0
190
[RU] Codegeneration as way to help test automation engeneers
lanwen
0
99
[RU] GIMME your first Autotest!
lanwen
1
440
SPb Jenkins Meetup #0 Как начать писать плагин для Jenkins? И когда этого не делать?
lanwen
3
760
Other Decks in Technology
See All in Technology
Chasing Real-Time Observability for CRuby
whitegreen
0
110
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
2k
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
350
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4.9k
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
190
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
300
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
220
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
150
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
360
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
小説執筆のハーネスエンジニアリング
yoshitetsu
0
680
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
160
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
How to make the Groovebox
asonas
2
2.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Building Applications with DynamoDB
mza
96
7k
Agile that works and the tools we love
rasmusluckow
331
21k
4 Signs Your Business is Dying
shpigford
187
22k
The SEO identity crisis: Don't let AI make you average
varn
0
440
A Soul's Torment
seathinner
6
2.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
エンジニアに許された特別な時間の終わり
watany
106
240k
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