gocd-contrib / deb-repo-poller Goto Github PK
View Code? Open in Web Editor NEWGoCD plugin to poll debain repository
License: Apache License 2.0
GoCD plugin to poll debain repository
License: Apache License 2.0
Remove them.
This works great with archive.ubuntu.com, but does not seem to work with PPAs.
It can retrieve the Packages file, but doesn't seem to be abel to query any packages.
2015-04-28 22:55:33,915 WARN [qtp1633991966-29] DebRepositoryPoller:62 - [Deb Repo Check Connection] Check connection to package failed with exception - java.lang.RuntimeException: Error while querying repository with path 'http://xxxxxx/testing/dists/trusty/main/binary-amd64/' and package 'mypackage'.
If two or more package materials are defined that refer to a single repository, every modification check for those package materials will fail due to some sort of FileLock
race condition triggered by DebRepositoryPoller#getLatestRevision()
:
2015-05-26 02:08:36,614 WARN [87@MessageListener for MaterialUpdateListener] MaterialDatabaseUpdater:121 - [Material Update] Modification check failed for material: Repository: [repo_url=http://REPOSITORY_HOST/main/binary-amd64/] - Package: [package_name=DEBIAN_PACKAGE_NAME]
java.lang.RuntimeException:
at com.thoughtworks.go.plugin.infra.FelixGoPluginOSGiFramework.executeActionOnTheService(FelixGoPluginOSGiFramework.java:317)
at com.thoughtworks.go.plugin.infra.FelixGoPluginOSGiFramework.doOn(FelixGoPluginOSGiFramework.java:245)
at com.thoughtworks.go.plugin.infra.DefaultPluginManager.doOn(DefaultPluginManager.java:114)
at com.thoughtworks.go.plugin.access.packagematerial.ApiBasedPackageRepositoryExtension.latestModificationSince(ApiBasedPackageRepositoryExtension.java:95)
at com.thoughtworks.go.plugin.access.packagematerial.PackageAsRepositoryExtension.latestModificationSince(PackageAsRepositoryExtension.java:68)
at com.thoughtworks.go.server.service.materials.PackageMaterialPoller.modificationsSince(PackageMaterialPoller.java:63)
at com.thoughtworks.go.server.service.materials.PackageMaterialPoller.modificationsSince(PackageMaterialPoller.java:41)
at com.thoughtworks.go.server.service.MaterialService.modificationsSince(MaterialService.java:110)
at com.thoughtworks.go.server.materials.ScmMaterialUpdater.insertLatestOrNewModifications(ScmMaterialUpdater.java:52)
at com.thoughtworks.go.server.materials.PackageMaterialUpdater.insertLatestOrNewModifications(PackageMaterialUpdater.java:61)
at com.thoughtworks.go.server.materials.MaterialDatabaseUpdater.insertLatestOrNewModifications(MaterialDatabaseUpdater.java:155)
at com.thoughtworks.go.server.materials.MaterialDatabaseUpdater.updateMaterialWithNewRevisions(MaterialDatabaseUpdater.java:147)
at com.thoughtworks.go.server.materials.MaterialDatabaseUpdater$2.doInTransaction(MaterialDatabaseUpdater.java:110)
at com.thoughtworks.go.server.transaction.TransactionCallback.doWithExceptionHandling(TransactionCallback.java:24)
at com.thoughtworks.go.server.transaction.TransactionTemplate$3.doInTransaction(TransactionTemplate.java:53)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at com.thoughtworks.go.server.transaction.TransactionTemplate.executeWithExceptionHandling(TransactionTemplate.java:49)
at com.thoughtworks.go.server.materials.MaterialDatabaseUpdater.updateMaterial(MaterialDatabaseUpdater.java:107)
at com.thoughtworks.go.server.materials.MaterialUpdateListener.onMessage(MaterialUpdateListener.java:48)
at com.thoughtworks.go.server.materials.MaterialUpdateListener.onMessage(MaterialUpdateListener.java:29)
at com.thoughtworks.go.server.messaging.activemq.JMSMessageListenerAdapter.runImpl(JMSMessageListenerAdapter.java:65)
at com.thoughtworks.go.server.messaging.activemq.JMSMessageListenerAdapter.run(JMSMessageListenerAdapter.java:50)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException:
at com.tw.go.plugin.material.artifactrepository.deb.poller.DebRepositoryPoller.getLatestRevision(DebRepositoryPoller.java:41)
at com.tw.go.plugin.material.artifactrepository.deb.poller.DebRepositoryPoller.latestModificationSince(DebRepositoryPoller.java:56)
at com.thoughtworks.go.plugin.access.packagematerial.ApiBasedPackageRepositoryExtension$6.execute(ApiBasedPackageRepositoryExtension.java:91)
at com.thoughtworks.go.plugin.access.packagematerial.ApiBasedPackageRepositoryExtension$6.execute(ApiBasedPackageRepositoryExtension.java:88)
at com.thoughtworks.go.plugin.infra.FelixGoPluginOSGiFramework.executeActionOnTheService(FelixGoPluginOSGiFramework.java:315)
... 22 more
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1012)
at java.nio.channels.FileChannel.lock(FileChannel.java:1052)
at com.tw.pkg.deb.helper.IOHelper.getLockOnFile(IOHelper.java:47)
at com.tw.pkg.deb.repo.DebianRepoQuery.<init>(DebianRepoQuery.java:42)
at com.tw.go.plugin.material.artifactrepository.deb.poller.DebRepositoryPoller.getLatestRevision(DebRepositoryPoller.java:37)
... 26 more
This bug will probably be a showstopper for anyone who wants to use Go to build a CD workflow that uses private Debian repositories for managing binaries.
OS: Ubuntu 12.04
Go version: confirmed behavior with 14.4 and 15.1
hello,
we have a deb reporitory which is served via https, but the plugin only accept http or file.
is there any plan to support https in the near future?
thanks in advanced,
mark
$ ls -l /var/lib/go-server/plugins/external/deb-repo-poller.jar
-rw-r--r-- 1 go go 24825 Feb 27 14:24 /var/lib/go-server/plugins/external/deb-repo-poller.jar
go-server log:
2014-02-27 14:35:55,380 WARN [Thread-63] GoPluginDescriptorBuilder:59 - Could not load plugin with jar filename:deb-repo-poller.jar
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:153)
at java.util.jar.JarFile.<init>(JarFile.java:117)
at com.thoughtworks.go.plugin.infra.plugininfo.GoPluginDescriptorBuilder.build(GoPluginDescriptorBuilder.java:49)
at com.thoughtworks.go.plugin.infra.listeners.DefaultPluginJarChangeListener.pluginJarAdded(DefaultPluginJarChangeListener.java:51)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners$1.execute(DefaultPluginJarLocationMonitor.java:246)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.doOnAll(DefaultPluginJarLocationMonitor.java:277)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread$DoOnAllListeners.pluginJarAdded(DefaultPluginJarLocationMonitor.java:244)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.notifyListenersOfAddedPlugins(DefaultPluginJarLocationMonitor.java:175)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.loadAndNotifyPluginsFrom(DefaultPluginJarLocationMonitor.java:166)
at com.thoughtworks.go.plugin.infra.monitor.DefaultPluginJarLocationMonitor$PluginLocationMonitorThread.run(DefaultPluginJarLocationMonitor.java:152)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.