Giter Site home page Giter Site logo

jenkinsci / juseppe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from junoyoon/simpleupdatesiterepo

56.0 16.0 20.0 442 KB

Jenkins Update Site Embedded for Plugin Publishing Easily

Home Page: https://hub.docker.com/r/lanwen/juseppe/

License: Apache License 2.0

Java 98.34% Dockerfile 1.66%

juseppe's Introduction

Juseppe - Jenkins Update Site Embedded for Plugin Publishing

How to launch with help of docker

Run it with mounted plugins folder as volume. Remember to set JUSEPPE_BASE_URI env var

docker run --name juseppe -v /your/plugins/dir/:/juseppe/plugins/ -e JUSEPPE_BASE_URI=http://my.company.com -e JUSEPPE_BIND_HOST=0.0.0.0 -p 80:8080 lanwen/juseppe

Then it will be available on http://dockerhost:80/update-center.json

Built-in self-signed certificate

Certificate can be copied from json in format:

-----BEGIN CERTIFICATE-----
{json value of signature.certificates[0] (without quotes)}
-----END CERTIFICATE-----

WARN! Certificate regenerates in every new docker image!

Specify own certificate

Mount as volumes private key and cert:

docker run --name juseppe -v /your/private/key:/juseppe/cert/uc.key -v /your/cert/file:/juseppe/cert/uc.crt ... lanwen/juseppe

Just generate json

docker run --rm ... lanwen/juseppe generate

Build new image

docker build -t juseppe:source .

Without docker

1. Checkout & Build

With maven just run mvn package, and you will find jar in target/juseppe.jar

2. Generate self-signed cert with private key

and point juseppe to use it with help of -Djuseppe.certificate=path/to/cert.crt and -Djuseppe.private.key=path/to/priv.key

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"

3. Run help to see all available commands

java -jar juseppe.jar help

3.1 Generate new json

java -jar juseppe.jar generate

3.2 Serve json and plugins with help of jetty server

To run server with file watching in current directory (not the dir where jar located!)

java -jar juseppe.jar serve

3.3 Watch for changes automatically

Just add -w (or --watch) flag to update jsons on any plugin list changes

java -jar juseppe.jar -w serve or java -jar juseppe.jar -w generate

You can also change plugin dir location by specifying -p (or --plugins-directory) flag with location of directory where the plugins are

java -jar juseppe.jar -w -p /tmp/plugins serve

4. Configure

You can define system properties or environment vars to override default behaviour. Complete list of vars can be found after juseppe env command.

  • JUSEPPE_CERT_PATH (juseppe.certificate)
    path of certificate (must be used in pair with private key prop). Defaults to uc.crt

  • JUSEPPE_PRIVATE_KEY_PATH (juseppe.private.key)
    path of private key (must be used in pair with cert). Defaults to uc.key

  • JUSEPPE_PLUGINS_DIR (juseppe.plugins.dir)
    where the plugins are. Searches only *.hpi and *.jpi. Defaults to current working dir

  • JUSEPPE_SAVE_TO_DIR (juseppe.saveto.dir)
    where to save generated json file. Defaults to current working dir

  • JUSEPPE_UC_JSON_NAME (juseppe.uc.json.name)
    name of generated update center json file. Defaults to update-center.json

  • JUSEPPE_RELEASE_HISTORY_JSON_NAME (juseppe.release.history.json.name)
    name of generated release-history json file. Defaults to release-history.json

  • JUSEPPE_BASE_URI (juseppe.baseurl)
    url to prepend for plugins download link in json. Defaults to http://localhost:8080

  • JUSEPPE_UPDATE_CENTER_ID (juseppe.update.center.id)
    id of the update center. Must be unique inside of jenkins. Defaults to juseppe

  • JUSEPPE_BIND_PORT (juseppe.jetty.port)
    port for juseppe file server. Defaults to 8080

  • JUSEPPE_BIND_HOST (juseppe.jetty.host)
    hostname or address for juseppe file server. Defaults to localhost

  • JUSEPPE_RECURSIVE_WATCH (juseppe.recursive.watch) watch for file changes recursively Defaults to true

Example:

java -jar -Djuseppe.saveto.dir=/tmp/update/ juseppe.jar -w serve or JUSEPPE_SAVE_TO_DIR=/tmp/update/ java -jar juseppe.jar -w serve

Properties are overridden in order: default value -> env vars -> system properties -> direct cli arguments

How to connect Jenkins

Site can be added with help of:

juseppe's People

Contributors

bphinz avatar junoyoon avatar lanwen avatar oleg-nenashev avatar rokx avatar sathomps avatar valdiz777 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

juseppe's Issues

Signature failure

Downloaded and installed latest Juseppe Update center.
Default URL = http://spl-myserver-udc01/update-center.json

This works fine when I deploy using tomcat. It fails miserably when I try to run using the builtin Winstone....

Click on Check Now button and it fails with the following error. It fails with certificate enabled and certificate disabled. Of course... that is not the default URL. This is really bad that there is no documentation on how to resolve this.


Signature verification failed in update site 'default'

SEVERE: ERROR: Signature verification failed in update site 'default' (show details)

java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:153)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at org.jvnet.hudson.crypto.CertificateUtil.validatePath(CertificateUtil.java:93)
at jenkins.util.JSONSignatureValidator.verifySignature(JSONSignatureValidator.java:76)
at hudson.model.UpdateSite.verifySignature(UpdateSite.java:225)

build failure on latest

HI
when I try to build Juseppe with the default pom. I get an error indicating my system cannot find "org.kohsuke.stapler:json-lib:jar:2.4-jenkins-1" (see stack trace) . On the internet I can find version 2.1, and am not able to find 2.4-jenkins-1. Where is this jar file??

[ERROR] Failed to execute goal on project juseppe-core: Could not resolve dependencies for project ru.lanwen.jenkins:juseppe-core:jar:1.1.2-SNAPSHOT: Could no vops-group/) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project juseppe-core: Could not resolve dependencies for project ru.lanwen.j token.devops.sf.frb.org/nexus3/repository/gav-devops-group/) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:220) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:257) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project ru.lanwen.jenkins:juseppe-core:jar:1.1.2-SNAPSHO tory/gav-devops-group/) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:198) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195) ... 22 more Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact org.kohsuke.stapler:json-lib:jar:2.4-jenkins-1 in frb-token (h at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:192) ... 23 more Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.kohsuke.stapler:json-lib:jar:2.4-jenkins-1 in frb-token (htt at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367) ... 24 more Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.kohsuke.stapler:json-lib:jar:2.4-jenkins-1 in frb-token (https:/ at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1012) at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004) at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:725) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

compilation error

I pulled the latest release, and am trying to build a run-able java jar. I have made sure all nexus dependencies are available. I am getting the following compilation error with "mvn package" or "mvn compile" java version = "1.8.0_192"

ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project juseppe-core: Compilation failure: Compilation failure: ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[3,36] package org.apache.commons.io.ou ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[4,36] package org.apache.commons.io.ou ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[29,19] cannot find symbol ERROR] symbol: class TeeOutputStream ERROR] location: class ru.lanwen.jenkins.juseppe.util.SignatureGenerator ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[51,12] cannot find symbol ERROR] symbol: class TeeOutputStream ERROR] location: class ru.lanwen.jenkins.juseppe.util.SignatureGenerator ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[26,29] package org.apache.commons.io does not exist ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[27,29] package org.apache.commons.io does not exist ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[35,61] cannot find symbol ERROR] symbol: class NullOutputStream ERROR] location: class ru.lanwen.jenkins.juseppe.util.SignatureGenerator ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[48,19] cannot find symbol ERROR] symbol: class TeeOutputStream ERROR] location: class ru.lanwen.jenkins.juseppe.util.SignatureGenerator ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/util/SignatureGenerator.java:[48,39] cannot find symbol ERROR] symbol: class TeeOutputStream ERROR] location: class ru.lanwen.jenkins.juseppe.util.SignatureGenerator ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[182,37] cannot find symbol ERROR] symbol: variable FilenameUtils ERROR] location: class ru.lanwen.jenkins.juseppe.gen.HPI ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[185,24] cannot find symbol ERROR] symbol: variable FileUtils ERROR] location: class ru.lanwen.jenkins.juseppe.gen.HPI ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[196,37] cannot find symbol ERROR] symbol: variable FilenameUtils ERROR] location: class ru.lanwen.jenkins.juseppe.gen.HPI ERROR] /C:/Users/L1PXC04/Downloads/juseppe-master/juseppe-master/juseppe-core/src/main/java/ru/lanwen/jenkins/juseppe/gen/HPI.java:[199,24] cannot find symbol ERROR] symbol: variable FileUtils ERROR] location: class ru.lanwen.jenkins.juseppe.gen.HPI

Plugin not showing within Jenkins server

I have launched Juseppe with help of docker on a separate server. On the same server, I have also set up port mapping using:

docker run -d --name juseppe -v /var/lib/juseppe/plugins:/juseppe/plugins -p 80:8080 -e JUSEPPE_BASE_URI=http://juseppe.company.net lanwen/juseppe

It seems to be setup correctly because when i upload a new plugin in "/var/lib/juseppe/plugins" directory, I can see that plugin becomes available at http://dockerhost:80/update-center.json

After that within Jenkins server, I configured "UpdateSites Manager plugin". I have specified ID, URL of the update site and CA for the site.
Still, I don't see plugin within Jenkins server. I cannot find it under Manage Plugins --> Installed

SHA - Unable to confirm integrity of downloaded file

I've updated my version of Jenkins to 2.131, using the juseppe-plugin and the update-sites-manager-plugin. When trying to install an internal plugin hosted and produced by the plugins above, I get the following error in Jenkins.

Attempt to verify a downloaded file (xxx.jpi.tmp) using SHA-512 failed since your configured update site does not provide this checksum. Falling back to weaker algorithms.
Jul 10, 2018 1:29:38 PM SEVERE hudson.model.UpdateCenter$DownloadJob run
Failed to install XXX
java.io.IOException: Unable to confirm integrity of downloaded file, refusing installation

SSL is not working out of the box

Getting this error when I try to configure the update center to use SSL. I have changed the default update center in Jenkins to point to an internal update center. Any ideas?

Running Jenkins 2.5 on Ubuntu

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
    at sun.security.ssl.InputRecord.read(InputRecord.java:527)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
    at 

Wrong port display in log

Hi,

I have built the latest the master and I need to run the jar on port 9090 with the following command:

JUSEPPE_PLUGINS_DIR=/opt/jenkins/plugins/ JUSEPPE_BIND_PORT=9090 java -jar /opt/juseppe/juseppe-master/juseppe-cli/target/juseppe.jar -w serve

Everything works fine. Simply, the server-boot log displays the wrong information:

2018-02-09 16:56:15 INFO  Started ServerConnector@52a5e68a{HTTP/1.1}{0.0.0.0:9090} 

...

2018-02-09 16:56:16 INFO  UpdateSite will be available at http://localhost:8080/update-center.json

The url displayed should be localhost:9090.

UpdateSiteGen does not pass its properties to Signer

In 1.1.0 UpdateSiteGen initializes Signer by a default constructor. This constructor takes Props.populated(), which may differ from settings instance passed to UpdateSiteGen.

In my case I want to pass certificate/key paths via Props, but it does not work anymore.

Fixing it

Add functions to generate update center certificates

In order to operate correctly, Jenkins update sites need to specify private/public keys and X509 certificates. These certificates should be placed into the root of Update site.

It would be great if Juseppe could generate at least self-signed certificates for such purpose.

apache reverse proxy between Jenkins and Juseppe.

Hello

Juseppe is showing that Jenkins is trying to connect. some success

Corporate security policy requires I place an apache based reverse proxy between on the Juseppe server and only allow TLS1.2 between the Jenkins and Juseppe.

  • Juseppe is using a CERT provided by my corporate CA.
  • All Java installs are have the corporate CA cert in the keytool.
  • Jenkins is connecting to other corporate resources that using Apache reverse proxy (I am confident Java key tool has corporate CA cert properly configured).
  • I can use IE, chrome, and FireFox to browse to the reverse proxied SSL URL and get NO errors in any of the browsers

When testing out the connection to Juseppe I am getting:

31-May-2018 08:57:14.151 SEVERE [Handling POST /jenkins/pluginManager/checkUpdatesServer from #.#.#.# : ajp-apr-127.0.0.1-8009-exec-1643] hudson.model.UpdateSite.updateData ERROR: Signature verification failed in Update site with own cert for juseppe <a href='#' class='showDetails'> (show details)</a><pre style='display:none'>java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors<br> at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:154)<br> at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:80)<br> at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)<br> at org.jvnet.hudson.crypto.CertificateUtil.validatePath(CertificateUtil.java:93)<br> at jenkins.util.JSONSignatureValidator.verifySignature(JSONSignatureValidator.java:78)<br> at hudson.model.UpdateSite.verifySignature(UpdateSite.java:254)<br> ..... rest of stack trace not informative

Hoping you might have some suggestion on what might cause

Tests failures with v1.2.2 and update center not working if I skip tests

Hi,

I'm trying to use juseppe without Docker. I'm already running a previous version but I need the SHA fixes.

When I do mvn package, some tests are failing with this error:
Tests in error:
shouldFindAllPluginsRecursively(ru.lanwen.jenkins.juseppe.gen.source.PathPluginSourceTest): Illegal char <:> at index 2: /C:/Users/L3u3n/Downloads/juseppe-1.2.2/juseppe-1.2.2/juseppe-core/target/test-classes/tmp/plugins

If I skip tests, I can build. I replaced the juseppe.jar on my working setup by the new jar. The server is starting without error but I can not connect to it from my jenkins master. If I enter the .json url in a web browser, I get a ERR_CONNECTION_REFUSED. Whereas with the previous juseppe.jar I can see the json content.

Can you help me ?
Do you think the problem is related to failing tests ?
How can I troubleshoot this problem ?

Thank you !

Docker Build Failing with "package javax.annotation does not exist"

After cloning the repo and running docker build -t juseppe:source ., the build fails with the following errors:

[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for juseppe 1.1.2-SNAPSHOT:
[INFO]
[INFO] juseppe ............................................ SUCCESS [ 0.026 s]
[INFO] juseppe-core ....................................... FAILURE [ 35.130 s]
[INFO] juseppe-cli ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.316 s
[INFO] Finished at: 2019-09-12T15:40:55Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project juseppe-core: Compilation failure: Compilation failure:
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Developer.java:[4,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Developer.java:[7,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/UpdateSite.java:[6,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/UpdateSite.java:[9,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Plugin.java:[6,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Plugin.java:[9,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Signature.java:[6,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Signature.java:[10,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Dependency.java:[4,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Dependency.java:[7,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Release.java:[4,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Release.java:[7,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/ReleaseHistory.java:[6,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/ReleaseHistory.java:[9,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Day.java:[6,24] package javax.annotation does not exist
[ERROR] /juseppe/juseppe-core/target/generated-sources/java-gen/ru/lanwen/jenkins/juseppe/beans/Day.java:[9,2] cannot find symbol
[ERROR] symbol: class Generated
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :juseppe-core
The command 'mvn package -Dmaven.test.skip=true' returned a non-zero code: 1

Running the same maven command mvn package -Dmaven.test.skip=true works as expected.

The Dockerfile is pulling from maven without a specific tag, which brings in latest by default.

Updating the Dockerfile to use FROM maven:3.6.2-jdk-8-slim resolves the docker build issue.

https://github.com/lreading/juseppe/commit/e9b067175cd1ece30c7a1b8ad4a40c08c9acb7f4

I can create a PR if you'd like.

Signature verification failed

Hi,

In our company, we have a Jenkins instance with no Internet access. I want to put in place an update site for Jenkins locally using juseppe.

Running Juseppe

Running Juseppe in a docker container using this command:
docker run --name juseppe -d -v /tmp/plugins:/juseppe/plugins/ -p 8001:8080 -e JUSEPPE_BASE_URI=http://10.0.0.200:8001 lanwen/juseppe

Juseppe is working file and i can access to update-center.json.

http://10.0.0.200:8001/update-center.json

Configuring with Jenkins

image

Problem

But the problem is when i'm trying to integrate it with Jenkins running in another container, i have this error .

Signature verification failed in update site 'juseppe' (show details)

Tweak history

to be able to download any version of plugin and see all versions available

Jenkins - Update Center - Updates

I'm currently running this internally to host Jenkins plugins. While the plugin will show up as available, when a new version is pushed to the update site, I don't see the new version in Update Center->Updates.

Add 'generate and quit' mode

When serving the generated and plugin files using a different web server, and only updating the metadata every few hours or so, it would be useful if there were a 'generate and quit' way to run this tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.