The first step is to make sure the project meets the requirements, found here:
Everything, even upload to the public keystore. Once the requirements are met, follow
The instructions appear to leave off the part about "staging upload" Use the staging upload to upload all of the files and create a staging repository.
If the upload works, but it does close because of errors. Fix the errors and try again. Drop the staging repo and re-upload. Not fun, the next part of this post will include automating this.