FAQs

Updated at:

409 Conflict error when pushing to a private repository

  1. Check if your Alibaba Cloud DevOps private repository allows overwrites. Try changing the package version to a new one, or set the Maven package version to a SNAPSHOT package and upload it again. SNAPSHOT packages allow overwriting the same version.

  2. If you receive a 409 error even when you confirm the package version does not exist in the repository, check if any extra plug-ins are configured in files such as pom.xml. These plug-ins might cause the package to be pushed twice. For more details, see Maven release plugin fails : source artifacts getting deployed twice.

Authentication error when pushing from a pipeline

If the repository ID in the logs does not match the ID in your Alibaba Cloud DevOps artifact repository, check your pom.xml file for configuration errors.

Authentication error when pushing from a local machine

  1. If the repository ID in the logs does not match the ID in your Alibaba Cloud DevOps artifact repository, check your pom.xml file for configuration errors.

  2. Ensure the settings.xml file is correctly configured. Run the following command in your code's root directory:mvn clean deploy -s settings.xml -U -DskipTests

    1. Note: The -s parameter specifies the file path to the settings.xml file. This file must be downloaded from the Alibaba Cloud DevOps private repository by using an account with push permissions. For more information, see Repository member permissions.

    2. To verify your settings.xml configuration, run mvn help:effective-settings. Check the logs to confirm the settings include the private repository URL.

Pipeline Java build fails to download dependencies

Check the global build settings in your pipeline. Ensure that it specifies the correct private repository or that the correct settings.xml file is uploaded.

413 error when uploading a Java build artifact

[executionStep begins at 2025-01-21 16:56:29]
########################################################################
# name      : ArtifactUpload
# version   : v1.3.87
# description : artifact upload
# help url  : https://atomgit.com/flow-step/ArtifactUpload.git
# build id  : d6fa0576-8c21-4cb8-9bff-fd98ff3be0f4
########################################################################
2025-01-21 16:56:29 [INFO] Start to pack artifact
2025-01-21 16:56:29 [INFO] PackInputs, {"projectDir":"/root/workspace/__flow_work/__flow_builds/fd3350cb-eb28-4cf2-bb0d-08b66878a56c/workspace/aiforos_installer_KHx3","sourcePath":["dist/aiforos-airgap-images"],"filePath":"dist/aiforos-airgap-images","gitIgnore":"false","includePathInArtifact":"false","artifactFullName":"/root/workspace/__flow_work/__flow_builds/fd3350cb-eb28-4cf2-bb0d-08b66878a56c/workspace/packages/aiforos-airgap-images.tgz"}
2025-01-21 16:56:29 [INFO] Pack single file without file path
2025-01-21 17:02:11 [INFO] Upload /root/workspace/__flow_work/__flow_builds/fd3350cb-eb28-4cf2-bb0d-08b66878a56c/workspace/packages/aiforos-airgap-images.tgz to PACKAGES, and artifact version is master-20250121116
2025-01-21 17:02:12 [ERROR] "Request failed with status code 413"
2025-01-21 17:02:12 [ERROR] "<html>\r\n<head><title>413 Request Entity Too Large</title></head>\r\n<body>\r\n<center><h1>413 Request Entity Too Large</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
2025-01-21 17:02:12 [ERROR] Failed to upload artifact

The maximum size for a single artifact is 2 GB. If your code directory or package exceeds this limit, split it into multiple smaller packages. You can then build and upload them in stages or from different directories.

A local build fails to download dependencies

Follow these steps to troubleshoot local build failures:

  1. Go to Alibaba Cloud DevOps Packages, and search for the dependency package. If it does not exist, upload it to your private repository. If it already exists, proceed to the next step.

  2. Review the repository guide to ensure your local environment is correctly configured to access the repository (for example, settings.xml for Maven, or registry and authentication settings for npm).

  1. For a Maven repository, prepare a settings.xml file according to the repository guide. Create a new empty directory on your local machine, such as /tmp/repo. Then, run the following command in your code's root directory to see if the build succeeds: mvn clean install -s settings.xml -U -DskipTests -Dmaven.repo.local=/tmp/repo. Note: The -s parameter must specify the file path to the settings.xml file downloaded from the Alibaba Cloud DevOps private repository by using an account with permission to pull packages. For more information, see Repository member permissions.

  2. For a Maven repository, to verify that your local settings.xml is configured correctly, run mvn help:effective-settings locally. Check the logs to confirm that the private repository address is included.

Migrate a self-hosted Maven repository to Alibaba Cloud DevOps

  1. You can configure a proxy directly in an Alibaba Cloud DevOps private repository. When you download a package from the private repository, if the package does not exist, it is pulled from the proxy repository and also stored in the private repository. For more information, see Repository proxy settings.

  2. If you want to migrate your entire private repository to an Alibaba Cloud DevOps private repository, you can use the migrate-local-repo-tool.jar migration tool. We recommend migrating data in batches for large amounts of data. For more information, see Migrate an existing Maven private repository to Alibaba Cloud DevOps.

Slow package downloads from the artifact repository

Check your repository's proxy settings. If the repository uses a cross-border proxy repository, download speeds can be slow because cross-border performance is not guaranteed.

400 error when uploading to a Maven repository

A release repository accepts only release packages, and a snapshot repository accepts only SNAPSHOT packages (packages with a version ending in -SNAPSHOT).

403 Forbidden error when pushing to a private repository

Error message: INFO LoggingTransferListener - Could not transfer artifact2 from/to repositoryIdentifier (https://packages.aliyun.com/xxxx/): (403). Check if you have permission to push to the private repository case.

Error pushing package: Artifact storage is full

This error indicates that your organization has run out of artifact storage space. To get more capacity, enable pay-as-you-go.

400 error when pushing an artifact

We recommend that you check your artifact storage usage. If you are running out of space, you can enable pay-as-you-go or clean up artifacts to free up more space.

[INFO] ------------------------------------------------------------------------
[WARNING]
[WARNING] Plugin validation issues were detected in 3 plugin(s)
[WARNING]
[WARNING]  * org.apache.maven.plugins:maven-install-plugin:2.5.2
[WARNING]  * org.apache.maven.plugins:maven-source-plugin:2.2.1
[WARNING]  * org.apache.maven.plugins:maven-deploy-plugin:2.8.2
[WARNING]
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [BRIEF, DEFAULT, VERBOSE]
[WARNING]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project jeecg-boot-starter: Failed to deploy artifacts: Could not transfer artifact com.bdcs:jeecg-boot-starter:pom:1.0.0 from/to rdc-releases (https://packages.aliyun.com/maven/repository/2287973-release-n8XD5i/): status code: 400, reason phrase:  (400) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Migrating data between artifact repositories

  1. Migration between Alibaba Cloud DevOps artifact repositories is not supported. To prevent potential circular proxy issues, proxying to another Alibaba Cloud DevOps artifact repository is also not supported.

  2. For a Maven artifact repository, we recommend configuring multiple sources in the same settings.xml file.

Pulling artifacts by using npm

Follow the repository guide > for npm Configuration in the Alibaba Cloud DevOps console to configure your repository.

Sample .npmrc file configuration:

registry=https://packages.aliyun.com/64c1************17/npm/repo-***/ 
//packages.aliyun.com/64c1************17/npm/repo-***/:_authToken=*************

Notes:

  • If you still cannot pull after configuration, please check if the .npmrc file exists in the following paths:

    • User-level configuration: ~/.npmrc

    • Project-level configuration: The .npmrc file in the project root directory.

  • Project-level configurations override user-level configurations.

  • Ensure the _authToken value is correct and not expired.

Pulling artifacts by using Yarn

The configuration method for Yarn varies by version. First, check your current Yarn version:

yarn -v

Yarn 1.x versions

YARN 1.x is compatible with the npm .npmrc configuration file.

Procedure:

  1. Follow the repository guide > for Yarn Configuration in the Alibaba Cloud DevOps console to complete the setup.

  2. If you run npm config set always-auth true and encounter the always-auth is not a valid npm option error, you can manually edit the .npmrc file to add always-auth=true.

The contents of the .npmrc file are as follows:

registry=https://packages.aliyun.com/64c1************17/npm/repo-***/ 
//packages.aliyun.com/64c1************17/npm/repo-***/:_authToken=************* 
always-auth=true

Yarn 2+ versions

Yarn 2+ uses a .yarnrc.yml file instead of an .npmrc file. Configure the .yarnrc.yml file as follows:

npmRegistries: 
  "https://packages.aliyun.com/64c1************17/npm/repo-***/": 
    npmAuthToken: *************

Checking if a Maven dependency can be pulled

If you encounter issues such as 403 or 404 errors when you pull dependencies from an Alibaba Cloud DevOps Package Maven repository, you can use the curl or wget commands to pull them directly. For example:

  • Command to pull the release package's POM file:

    curl -iv -H "Host:packages.aliyun.com" -H "Authorization: Basic $(echo -n '$username:$password' | base64)" https://packages.aliyun.com/64c1c7**************3417/maven/repo-u***k/com/rdcpackage/packagetest/2.0/packagetest-2.0.pom
  • Command to pull the maven-metadata.xml of a SNAPSHOT package:

    curl -iv -H "Host:packages.aliyun.com" -H "Authorization: Basic $(echo -n '$username:$password' | base64)" https://packages.aliyun.com/64c1c7**************3417/maven/repo-u***k/org/example/flow/1.0-SNAPSHOT/maven-metadata.xml
    upload_test % curl -H "Host:packages.aliyun.com" -H "Authorization: Basic $(echo -n
    17/maven/repo-2xxx/org/example/flow/1.0-SNAPSHOT/maven-metadata.xml                          | base64)" https://packages.aliyun.com/64c1c
    <?xml version="1.0" encoding="UTF-8"?>
    <metadata modelVersion="1.1.0">
      <groupId>org.example</groupId>
      <artifactId>flow</artifactId>
      <version>1.0-SNAPSHOT</version>
      <versioning>
        <snapshot>
            <timestamp>20250319.084907</timestamp>
            <buildNumber>1</buildNumber>
        </snapshot>
        <lastUpdated>20250319084907</lastUpdated>
        <snapshotVersions>
          <snapshotVersion>
              <extension>jar</extension>
              <value>1.0-20250319.084907-1</value>
              <updated>20250319084907</updated>
          </snapshotVersion>
          <snapshotVersion>
              <extension>pom</extension>
              <value>1.0-20250319.084907-1</value>
              <updated>20250319084907</updated>
          </snapshotVersion>
          <snapshotVersion>
              <classifier>jar-with-dependencies</classifier>
              <extension>jar</extension>
              <value>1.0-20250319.084907-1</value>
              <updated>20250319084907</updated>
          </snapshotVersion>
        </snapshotVersions>
      </versioning>
    </metadata>
  • You can use the wget command to download the required jar package:

    wget --header="Authorization: Bearer $(echo -n '$username:$password' | base64)" https://packages.aliyun.com/64c1c7**************3417/maven/repo-u***k/com/rdcpackage/packagetest/2.0/packagetest-2.0.jar
    upload_test % wget --header="Authorization: Bearer $(echo -n 'xxx' | base64)" https://packages.aliyun.com/64cxxx/maven/repo-uxxx:com/rdcpackage/packagetest/2.0/packagetest-2.0.jar
    Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
    ERROR: could not open HSTS store at '/Users/fangpeng/.wget-hsts'. HSTS will be disabled.
    --2025-10-23 17:36:24--  https://packages.aliyun.com/64c1c73fa4a9f6530c595e17/maven/repo-uuglk/com/rdcpackage/packagetest/2.0/packagetest-2.0.jar
    Resolving host packages.aliyun.com (packages.aliyun.com)... 39.105.151.219, 123.57.30.242
    Connecting to packages.aliyun.com (packages.aliyun.com)|39.105.151.219|:443... connected.
    HTTP request sent, awaiting response... 200
    Length:2503 (2.4K) [application/octet-stream]
    Saving to: "packagetest-2.0.jar"
    packagetest-2.0.jar                100%[============================================>]   2.44K  --.-KB/s    in 0s
    2025-10-23 17:36:25 (15.9 MB/s) - saved "packagetest-2.0.jar" [2503/2503])