[英]Nexus deploy via maven giving connection timeout
我的本地設置是通過mvn deploy
構建的,它將它發送到我們內部(通過 vpn)網絡上的 nexus,在 nginx 反向代理后面。
Maven 版本:
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\Program Files\Maven\bin\..
Java version: 14.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-14.0.2
Default locale: en_GB, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
每當我嘗試部署一個特定模塊時,我都會遇到連接超時。 我最初收到一個錯誤,因為 nexus 上的 repo 不允許重新部署它失敗了(即使 repo 中該模塊實際上沒有任何內容)
我當前的 pom.xml 配置:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.wagon.http.ssl.insecure>true</maven.wagon.http.ssl.insecure>
<maven.wagon.http.ssl.allowall>true</maven.wagon.http.ssl.allowall>
<maven.wagon.rto>5200000</maven.wagon.rto>
<maven.wagon.http.retryHandler.count>3</maven.wagon.http.retryHandler.count>
<maven.wagon.http.pool>false</maven.wagon.http.pool>
<http.keepAlive>false</http.keepAlive>
</properties>
mvn 端錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project parent-games-myproject: Failed to deploy artifacts: Could not transfer artifact com.my-proj.cw:parent-games-myproject:jar:1.0.0 from/to nexus-releases (https://nexus.url/repository/maven-private-release/): Transfer failed for https://nexus.url/repository/maven-private-release/com/my-proj/cw/parent-games-myproject/1.0.0/parent-games-myproject-1.0.0.jar: Connection reset -> [Help 1]
連接端的日志內容:
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233] my.user@email.com org.sonatype.nexus.blobstore.file.FileBlobStore - Deleted /nexus-data/blobs/maven-private-release-store/content/tmp/tmp$80bb45da-8a68-4a34-a660-8a0526d221c7.properties
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233] my.user@email.com org.sonatype.nexus.repository.view.Router - Response: Response{status=Status{successful=true, code=201, message='null'}, payload=null}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233] my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Request: Request{action='PUT', path='/com/my-proj/cw/parent-games-myproject/1.0.0/parent-games-myproject-1.0.0.pom.md5', parameters={}, payload=HttpRequestPayloadAdapter{contentType='null', size=32}, multipart=false}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233] my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.DefaultHttpResponseSender - Sending response: Response{status=Status{successful=true, code=201, message='null'}, payload=null}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233] my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Service completed
Nginx 全局配置:
worker_processes auto;
worker_rlimit_nofile 32768;
events {
worker_connections 16384;
multi_accept off;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
client_max_body_size 64m;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
keepalive_requests 100;
server_tokens on;
types_hash_max_size 2048;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Nginx 站點配置:
server {
listen 80;
server_name nexus.url ;
# Redirect non-https traffic to https
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name nexus.url;
ssl_certificate /etc/nginx/ssl/nexus.url.crt;
ssl_certificate_key /etc/nginx/ssl/nexus.url.key;
server_tokens off;
ssl_dhparam /etc/nginx/ssl/dhparams.pem;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA';
gzip_proxied any;
gzip on;
gzip_min_length 1023;
gzip_types text/plain text/css text/js text/javascript text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss;
proxy_send_timeout 1210s;
proxy_read_timeout 1210s;
proxy_max_temp_file_size 32384m;
proxy_redirect off;
proxy_buffers 32 4k;
send_timeout 1210s;
client_max_body_size 0;
client_body_buffer_size 128k;
}
登錄 nexus 報告絕對沒有出錯,這非常奇怪,其他模塊構建和部署成功......不知道還剩下什么。 在這一點上,我只需要部署人工制品,這樣我們就可以繼續工作
---- 額外信息 ---
模塊的主 jar 為 4KB,測試 jar 為 2KB
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>parent-games</artifactId>
<groupId>com.my-proj.cw</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>parent-games-myproject</artifactId>
<dependencies>
<dependency>
<groupId>com.my-proj.cw</groupId>
<artifactId>cw-games-myproject</artifactId>
</dependency>
<dependency>
<groupId>com.my-proj.cw</groupId>
<artifactId>parent-core</artifactId>
</dependency>
</dependencies>
</project>
這絕不是一個好的解決方案,但它最終對我有用
有一次,我放棄了部署 1.0.0 版的測試運行,然后使用我需要的正確版本 (4.51.0) 開始了實際發布。 這修復了它,沒有任何改變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.