- Service Overview
- Getting Started
-
User Guide
- Before You Start
- Roles & Permissions
- Process
- Logging In to the CodeArts Build Homepage
- Creating a Build Task
-
Configuring Build Actions
- Introduction
-
Graphical Build
- Configuring Build Environment
- Configuring Code Download
- Build with Maven
- Build with Android
- Sign Android APK
- Build with npm
- Build with Gradle
- Build with Yarn
- Build with Gulp
- Build with Grunt
- Build with Mono
- Build in PHP
- Build with Setuptools
- Build with PyInstaller
- Run Shell Commands
- Build with GNU Arm
- Build with CMake
- Build with Ant
- Build with Go
- Build Android Quick App
- Creating Images and Pushing to SWR
- Using SWR Public Images
- Uploading Software Packages to Release Repos
- Uploading Files to OBS
- Running Docker Commands
- Downloading Package from Release Repos
- Downloading File from File Manager
-
Code-based Build
-
Configuring a Task
- Introducing the YAML File Structure
- Using YAML for Build
- Using YAML to Configure Code Download
- Using YAML to Configure Manifest File Download from Repositories
- Using YAML to Configure and Execute Shell Commands
- Using YAML to Configure a Maven Build
- Using YAML to Configure an npm Build
- Using YAML to Configure a Yarn Build
- Using YAML to Configure a Build with Go
- Using YAML to Configure a Build with Gulp
- Using YAML to Configure a Build with Grunt
- Using YAML to Configure a PHP Build
- Using YAML to Configure a Build with GNU Arm
- Using YAML to Configure a Build with Setuptools
- Using YAML to Configure a Build with PyInstaller
- Using YAML to Configure a Python Build
- Using YAML to Configure a Gradle Build
- Using YAML to Configure an Ant Build
- Using YAML to Configure a CMake Build
- Using YAML to Configure a Mono Build
- Using YAML to Configure a Build with Flutter
- Using YAML to Configure an sbt Build
- Using YAML to Configure an Android Build
- Using YAML to Sign Android APK
- Using YAML to Inject an APM Probe into an Android App
- Using YAML to Build an Android Quick App
- Using YAML to Configure a Bazel Build
- Using YAML to Configure a Build with Grails
- Using YAML to Build an Android App with Ionic
- Using YAML to Configure a Fortran Build
- Using YAML to Configure a Build with MSBuild
- Using YAML to Create an Image and Upload It to SWR
- Using YAML to Specify SWR Public Images
- Using YAML to Upload Files to OBS
- Using YAML to Download Files
- Using YAML to Upload Binary Packages to a Repository
- Using YAML to Download Binary Packages
- Using YAML to Run Docker Commands
- Configuring Tasks
-
Configuring a Task
- Running a Build Task
- Viewing a Build Task
- Managing and Configuring a Build Task
- Other Operations
- Best Practices
-
API Reference
- Before You Start
- API Overview
- Calling APIs
-
Task APIs
- View the build task build history list based on the start time and end time.
- Viewing the Build History List of build task
- Downloading the Keystore File
- Viewing the Running Status of a Task
- Viewing the build task List of Users in a Project
- Execute the build job.
- Querying the Latest Successful Build History of a Specified Code Repository
- API for Obtaining Construction History Details
- View the build task construction success rate based on the start time and end time.
- Download Full Build Log
- Download Build Step Log
- Obtaining Construction Record Information
- Obtaining Build Product Details
- Stopping a Build
- Deleting the Build Task
- Disabling build task
- Restoring the build task
- Creating a Build Job
- Updating the build task
- Querying a Build Template
- Creating a Build Template
- Deleting a Build Template
- Query a Notification
- Sending Asynchronous Notifications When Updating Resource Types
- Cancel Notification
- Obtaining build task Details
- Out-of-DateAPIs (Unavailable Soon)
- Application Examples
- Appendix
- Change History
-
FAQs
-
General FAQs
- What Is CodeArts Build?
- Can I Specify a Server or Server Configuration for Running a Build Task?
- Does CodeArts Build Support iOS?
- Is There a Limit on the Size of the Build Package to Be Uploaded?
- Project Files Not Found During Builds
- Files Not Found During Software Package Upload
- Insufficient Permissions
- Task Not Found
- Task Aborted
- Migrating Common Java Projects to Cloud by Eclipse
- Fetching Code
-
Using Maven for Build
- Failed License Check
- Failed to Upload a Package Using the maven deploy Command
- POM Not Found
- Package or Symbol Not Found
- Incomplete JAR Due to Parallel Build Tasks
- Using the exec-maven-plugin Extension for Maven and NPM Hybrid Builds
- Referencing Between Parent and Child POMs
- Configuring and Clearing Maven Build Cache
- Finding the Correct Build Package Directory
- Using the jib-maven-plugin Extension to Build a Maven Project and Create an Image
- Package Remains Old After Code Update
- Service Endpoint Did Not Exist
- Using Android for Build
- Using Gradle for Build
-
Using npm for Build
- JavaScript heap out of memory
- enoent ENOENT: no such file or directory
- Module not found: Error: Can't resolve ...
- No Error Displayed for Failed Build with npm
- npm cb() never called
- gyp ERR! stack Error: EACCES: permission denied
- eslint: error 'CLODOP' is not defined
- Failed to Download node-sass
- error: could not write config file
- Low Efficiency and Slow Dependency Installation During Build with npm
- Using Docker for Build
- Creating Images and Pushing to SWR
-
General FAQs
Q&A
What Is Cache? How Do I Clear Abnormal Cache?
CodeArts Build allows you to cache the dependencies in your private storage space. Once cached, the dependencies will not have to be pulled for future builds. This greatly accelerates builds.
- Configuring cache setting
Cache is enabled by default when a build task is created. You can change this setting in Build with Maven > Cache.
- Clearing the cache
Network jitter, concurrent builds, or other extreme conditions may result in abnormal cache. Consequently, build errors may occur. The following describes how to clear the abnormal cache.
Before clearing cache, make sure you are well aware of the following precautions:
- The cache directory is shared by multiple users of the same tenant. Frequent cache clearing may cause exceptions (file loss, often the case) in other users' builds. Therefore, clear cache only when the cache is abnormal. After the cache returns to normal, edit the task to delete the clearing command.
- Use a detailed file path when clearing the cache. For example, to clear demo 1.0.0, run rm -rf /path/com/xx/demo/1.0.0. If an upper-level directory is entered in the cache clearing command, the next build will be slow or the dependency will be abnormal due to network problems.
- For security purposes, the cache clearing command can be executed only in the Build with Maven action. If this command is executed in other actions, the clearing operation may not succeed or an error will be displayed indicating that the directory does not exist.
If you have read the risk description carefully and understand and accept the risks, perform the following steps to clear the cache:- Prepare the clearing command.
- The format of the cache clearing command is rm -rf /repository/local/maven/{group_ID}/{artifact_ID}/{version}.
- {Group_ID}, {Artifact_ID}, and {Version} are the groupId, artifactId, and version of the dependency.
For example, if the dependency is as follows:
<dependency> <groupId>com.xx.devcloud</groupId> <artifactId>demo</artifactId> <version>1.0.9-SNAPSHOT</version> </dependency>
The command for clearing the dependency is rm -rf /repository/local/maven/com/xx/devcloud/demo/1.0.9-SNAPSHOT.
- Edit the build task and configure the action Build with Maven.
- Find the mvn xxxx command, add a line before the command, enter the prepared clearing command, and save the task.
- Run the build task again.
- Edit the task again and remove the cache clearing command.
What Do Default Commands in Build with Maven Indicate?
# Function: packaging Parameter description: # -Dmaven.test.skip=true: Skip unit test. # -U: Check for dependency update for each build so that the snapshot version dependency in the cache is always updated. However, this will lower performance. # -e -X: Print the debugging information. Use this parameter to locate difficult build problems. # -B: Run in batch mode to avoid the ArrayIndexOutOfBoundsException exception during log printing. # Scenario: Used for packaging projects when unit tests are not required. mvn package -Dmaven.test.skip=true -U -e -X -B
The meaning of each command/parameter is as follows:
- mvn package: Use Maven to perform packaging. After this command is executed, a software package is generated in the target directory of the project. You can change the directory as required.
- -Dmaven.test.skip=true: Skip the unit test. You are advised to retain this parameter.
- -U: Check for dependency update for each build so that the snapshot version dependency in the cache is always updated. However, this will lower performance. You are advised to retain this parameter.
- -e -X: Print the debugging information. Use this parameter to locate difficult build problems.
- -B: Run in batch mode to avoid the ArrayIndexOutOfBoundsException exception during log printing.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.