We are running Jenkins on a server that does not have internet access (even through proxy). Installing and keeping the Jenkins installation up-to-date is a pain!
My idea
For generating update site (update-center.json) you can use https://github.com/jenkins-infra/backend-update-center2 project
My steps:
openssl genrsa -out your-update-center.key 1024 openssl req -new -x509 -days 1095 -key your-update-center.key -out your-update-center.crt
mvn exec:java -Dexec.args="-id default -h /dev/null -o update-center.json -repository ULR_TO_NEXUS_REPO -remoteIndex .index/nexus-maven-repository-index.gz -repositoryName YOUR_REPO_NAME -directLink -pretty -nowiki -key your-update-center.key -certificate your-update-center.crt -root-certificate your-update-center.crt"
PS. don't forget to generate and publish Nexus 2 nexus-maven-repository-index.gz index file. Use the "Publish the indexes" task for that.
Some additional information about Updater Center you can find at https://github.com/ikedam/backend-update-center2/wiki/How-to-create-your-own-Jenkins-Update-Center