public available maven repository - cloudbees

Is it possible to have publicly available read-access maven repository on cloudbees?
I did found a wiki entry on private maven repository http://wiki.cloudbees.com/bin/view/DEV/CloudBees+Private+Maven+Repository but it clearly states that access to maven repo is only for users wired to cloudbees account.
Looking at the description of the project at https://github.com/arey/hibernate-hydrate which is build by Dev#Cloud and then deployed to cloudbees maven repo, it seems it is possible.
In my case every time i enter https://repository-<cloudbees-account>.forge.cloudbees.com i am prompted for a password. Can anyone help me on this?
Assuming i have 2 cloudbees accounts: A and B, is it possible to have public accessible maven repo for account A and at the same time password protected repo for account B?
UPDATE: I finally got it, on repository page you can define if one of repositories (svn/git/maven repo) is to be public or account access

So regarding Jesse advice i am posting a response to my own questions:
on cloudbees repository page you can define if give repository (of type maven,svn, git) is accessible (in read only mode) for public access. Originally i was fooled by "maven private repository" name used by cloudbees - it is indeed private (defined specially for your cloudbees account) but it can be publicly accessible.

Related

How to push Fossil local repository to remote hosting

It would be great if you could help me with one thing.
I'm using Fossil as my version manager. Using this on my PC is not a problem but when I try to push it to remote repository I can't.
Here's the thing:
When inside folder with my repository I type
fossil push https://chiselapp.com/user/sebatbg/repository/nres
I get info that:
Error: Wrong project
When I type
fossil push https://sebatbg#chiselapp.com/user/sebatbg/repository/nres
It asks for my password but when I enter it fossil says that Login failed
I tried both my pass to chisel app and for specific repository but result is the same.
Could anyone tell me step by step how to do the push?
Thank you
Fossil assigns a unique ID, called the "project ID", to each new repository. The error message "Wrong project" means that you've got different repositories locally and remotely, that their project-IDs don't match.
The only way I know to publish an existing local repository on Chisel is to upload said repository, and then set the remote-url of your local repository to the Chisel URL, either explicitly or by pulling from the URL.
I had a similar problem. I had cloned a remote repository, but could not push to it.
I could solve it by adding the username to the remote url
remote-url https://{username}#chiselapp.com/user/{chiselab-user}/repository/{repository-name}
you are then prompted for the password of the remote repository.
If you have an existing local repository that you would like to upload to the chiselapp hosting service, the process can be a bit awkward. If your repository is smaller than 8M, chiselapp provides a command Upload repository that may suit your purposes. Otherwise, this is what you need to do:
Navigate to a source tree for the local repository.
Issue the fossil info command and copy the project-code of the local
repository. This is a SHA1 hash.
Log in to chiselapp.com website and click on the Create Repository
link in the header of the home page.
Paste the previously copied project-code into the Override Project Code
field of the resulting form.
Fill the remaining fields as appropriate and click the Create Repository
button at the bottom of the page.
Record the password that is then assigned to you.
Navigate to the chiselapp dashboard and click on the name of the newly
created repository. This should bring you to the fossil web interface of this repository.
Login to the new repository using your local username and the recorded
password. This should be the only user so far and should have setup user permissions.
Navigate to the Admin/Stats page and check that the Project ID of the new
remote repository matches the project-code of the local repository.
Back in the local repository's source tree issue the command
fossil push https://<username>:<recorded-password>#chiselapp.com/user/<username>/repository/<repository-name> -R <local-repository-file>

Purpose of a public repository workspace in rtc

In RTC what is the purpose of using public repository workspace in rtc.
1) will all the users be able to check in the data to the public repository workspace.
2) will all the users be able to deliver the code to the connected stream.
3) How to get the incoming changes from another user.?
As mentioned in this thread:
The idea of using a public repository workspace is to provide an up and running development environment for the team.
I do not want a developer to spend 2-3 hours with the support of somebody else to setup his workspaces, to run a web application with the J2EE artifacts.
Currently we are using MAVEN to build are applications and setting up the development environment and we are struggling with it. To much knowledge required by the developer and way to much money trying to automagically configure the RAD 7.5 workspace with MAVEN and are own scripts.
The idea is to setup pre-configured public repository workspace with all the necessary RAD 7.5 artifacts (server, EAR configuration, web configuration, link between projects and link to MAVEN repository for component that you don't want to load in your workspace.
I prefer my repos workspace to be scoped (never private though, or only the admin can access it and deliver changeset that might not have been delivered to the stream)
The help page mentions:
On the New Repository Workspace panel, enter a number for the level of the visibility for the workspace, which determines who can see the workspace.
Public
Everyone with access to the repository is able to see the files and change sets in all public components in this workspace.
Private
The owner is the only person with read access to the repository workspace. However, change sets in the public components are visible to others.
Scoped
Everyone with read access in the connected project area can see the files and contents in public components in this workspace.
So:
1) will all the users be able to check in the data to the public repository workspace.
No, only the owner can add changesets
2) will all the users be able to deliver the code to the connected stream.
Yes
3) How to get the incoming changes from another user.?
You can change the flow target of that workspace in order to reference the workspace of another user.
Sand box code :
sysout("sand box");
Code in repo workspace :
sysout("repo code");
code in stream :
sysout("stream code");
How it will reflect in pending changes view ?

Unable to use Apache Archiva as Mirror

I think this was supposed to be a simple task, but I've been unable to accomplish it.
I've set an archiva repository as this:
2 Internal Maven1 repos (old projects)
1 Internal Maven2 repo
7 Remote repos (central, java.net, jboss.org, etc.)
For each internal repo I've created a proxy connection with each remote repo.
I've added a new mirror to my settings.xml file as explained in the archiva documentation:
<mirror>
<id>archiva.default</id>
<url>http://repo.mycompany.com:8080/archiva/repository/internal/</url>
<mirrorOf>*</mirrorOf>
</mirror>
When I try building a simple project with one dependency from some of the remote repositories, no artifacts are downloaded. Why?!?
Thanks for any help.
Archiva doesn't assign repositories any special roles. You make requests to specific managed repository from Maven (so from your settings, internal), and it will serve what is in there, or proxy it from remote repositories that have been connected by a proxy connector. By default, that is just Central - adding a new remote repository has no effect until it is connected to a managed repository by a proxy connector.
What you probably want to do is add a proxy connector on the internal repo to the remote repositories in question. Consider setting the whitelist too so that it is more effecient.
You may also want to set up a repository group that spans all the managed repositories (both maven 1 and maven 2) for use from a single URL.
I had exactly the same problem with Archiva 2, for me the solution was to give the "Global Repository Observer" role to the Guest user.

Clone private Mercurial repository on bitbucket.org into InetlliJ IDEA with hg4idea plugin?

I created private repository on bitbucket.org. I want to use it from IntelliJ IDEA.
I choose "Check out from Version Control" and there is message box with field Mercurial Repository URL and Test Repository button.
What should I enter into Mercurial Repository URL?
I tried
http://bitbucket.org/my_user_name/my_repo_name,
https://, and https://my_user_name#bitbucket.org/my_user_name/my_repo_name.
Nothing works.
When I click Test Repository I always get the message "Repository test has failed.".
I assume it is because there is no field for username and password, but can't I enter this data somehow?
Since only the latest hg4idea version supports authentication, you could try, for accessing and cloning your Bitbucket repo:
hg clone http://myuser:mypassword#bitbucket.org/MY_USER/MY_REPO
(that is, if your Bitbucket repo is a private one, which you did mention in your question:
'myuser' and 'mypassword' would then be the login and password for your Bitbucket account, using basic access authentication for the http url)
I was able to get this working by cloning the repository via a command-line prompt using the command that BitBucket gives me on my overview page. After doing that and activating version control on the project in IDEA, IDEA allowed me to push and pull from the repository successfully.

Should I use an FTP server as a maven host?

I would like to host a Maven repository for a framework we're working on and its dependencies. Can I just deploy my artifacts to my FTP host using mvn deploy, or should I manually deploy and/or setup some things before being able to deploy artifacts? I only have FTP access to server I want to host the Maven repo on.
The online repository I want to use is not hosted by myself. As I say, I only have FTP access, so if possible, I would like to use that FTP space as a Maven repository. The tools mentioned seem to work when you have full control over the host machine, or at least more than just FTP access since you need to configure the local directories where the repositories will be placed. Is this possible?
You might want to have a look at Nexus, a Maven repository manager. We've replaced our local Maven repository with a Nexus-based one and find it tremendously useful.
I've successfully used Archiva as my repository for several years ... see http://archiva.apache.org/. It's easy to administer and allows you to configure as many repositories as you need (SNAPSHOT, internal, external, etc).
According to the book "Better Builds with Maven", the most common type of repository is HTTP, this paragraph describes what I think you need:
This chapter will assume the repositories are running from http://localhost:8081/ and that artifacts are deployed to the repositories using the file system. However, it is possible to use a repository on another server with any combination of supported protocols including http, ftp, scp, sftp and more. For more information, refer to Chapter 3.
A Maven 2 repository is simply a specific directory structure, so once you get the transport and server specifications right for the repository and deployment portion of your POMs, it should be completely transparent to your users.
You can even use Dropbox. All that you need is a public address to access the files generated with mvn deploy, with any of the protocols in the accepted answer.
I guess there are more services that can work in the same way, but I'm not certain about the URL schemes that alternatives to Dropbox may use.
https://maven.apache.org/wagon/wagon-providers/wagon-ftp/ will tell you that you can use ftp to read from an existing repository, but not to create a new one. I don't think that it is impossible in principle, but no one has cared to write all the fiddly code to do the directory management via ftp.