公司为了省钱,除了一台服务器能够上网之外,其余的都是内网服务器,我把jenkins装在内网服务器下,用Dockder来搭建的,所以就出现题目的问题。怎么设置Docker jenkins容器下的maven http代理,让mvn能下载包。
# 进入容器 docker exec -it jenkins bash # 查看Maven安装配置 cat /var/jenkins_home/hudson.tasks.Maven.xml
<?xml version='1.1' encoding='UTF-8'?> <hudson.tasks.Maven_-DescriptorImpl> <installations> <hudson.tasks.Maven_-MavenInstallation> <name>maven3.5.2</name> <properties> <hudson.tools.InstallSourceProperty> <installers> <hudson.tasks.Maven_-MavenInstaller> <id>3.5.2</id> </hudson.tasks.Maven_-MavenInstaller> </installers> </hudson.tools.InstallSourceProperty> </properties> </hudson.tasks.Maven_-MavenInstallation> </installations> </hudson.tasks.Maven_-DescriptorImpl>
可以看到我们这里用的是3.5.2版本
那么的Maven所在的目录在
/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.5.2
# 修改setting文件,如果有挂载,那直接在宿主机上修改即可,免得进来容器里面,还要安装vim vim /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.5.2/conf/settings.xml
在xml中的settings标签下增加以下内容
<proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <host>代理服务器IP</host> <port>代理服务器端口</port> <!-- <username></username> <password></password> --> </proxy> </proxies>
docker restart jenkins #重启完,打开jenkins,mvn命令能下载包了