After installing Jenkins, the initial download of the plugin always fails, resulting in unsuccessful installation. After retrying several times, it is still stuck at installing the plugin. Here is a record of how to install Jenkins under Docker and solve the problem of initial plugin installation failure. The failure to install the plug-in actually means that the official Jenkins image is pulled, and then when the plug-in is initially installed, it is obtained from a foreign website, resulting in a very slow installation or even a failed installation. The best solution is to pull the Jenkins image provided by the Jenkins Chinese community. Jenkins Chinese official website: https://www.jenkins.io/zh/ Installation steps Get the image
Docker official image repository: https://hub.docker.com/ Find the Jenkins Chinese mirror here Set the jenkins container mount directory After the Jenkins container is started, installation configuration files will be generated. You need to change the generation address of these files to the directory on the Linux server. Purpose: To make it easier to find the configuration when it is modified in the future. Create a Jenkins build directory mkdir /home/jenkins_home Directory authorization chmod 777/home/jenkins_home If the system is not authorized, files cannot be generated after startup. Startup Command
Command Explanation:
Note: 8085 is the access port, and any port that is not occupied can be used. 8080 cannot be changed -p 50000:50000 cannot be changed. /home/jenkins_home/ The local build directory can be customized and is consistent with the directory created and authorized in the previous step /var/jenkins_homeDocker container directory, cannot be changed. access Server IP + custom port example: 192.168.0.200:8085 Initial password docker ps Get the id of the currently running container Docker logs container ID You can see it in the logs log, similar to this Plugin Installation The Jenkins image provided by the Chinese community does not require any settings, it can be installed directly, and the speed is very fast. Appendix - Analysis of failure to install plugins on official images Take the directory mounted by Jenkins above as an example In the jenkins_home directory, the hudson.model.UpdateCenter.xml file defines the configuration address for the plugin to pull. The default address can be accessed directly. You will find that it connects to https://www.google.com/. Due to the firewall, this address has always failed to be accessed. The content of the default.json file in the /jenkins_home/updates directory is the content of the configuration address pulled by the plug-in defined in hudson.model.UpdateCenter.xml. Even if you modify the default.json file content through other blogs, it will be restored immediately when you start it again, so no matter how you modify it, it will not take effect . The mirror provided by the Jenkins Chinese community has been processed, and the configuration address for plug-in pulling has been changed to the domestic mirror address, so the plug-in download is very fast. Jenkins Chinese community's explanation on plugin pulling: https://community.jenkins-zh.cn/t/jenkins/26 https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/ Suggest to learn more This is the end of this article about installing Jenkins with Docker and solving the problem of initial plugin installation failure. For more relevant content about installing Jenkins with Docker, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: JS uses map to integrate double arrays
>>: Tutorial on installing MySQL 8.0.11 under Linux
Use Docker to build a flexible online PHP environ...
1. How MySQL uses indexes Indexes are used to qui...
Solution to mysql not closing: Right-click on the...
How can I hide the scrollbars while still being a...
Copy code The code is as follows: <!DOCTYPE ht...
This article is based on the Free Code Camp Basic...
Simply pull the image, create a container and run...
A MySQL custom value is a temporary container for...
Preface When a Linux is fully set up, you can use...
I believe some people have seen this picture of c...
Limit usage When we use query statements, we ofte...
1. Use the speed control function to control the ...
There are several ways I know of to set anchor pos...
This article shares the specific code of js to ac...
In applications with paging queries, queries that...