- 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
Authentication
Requests for calling an API can be authenticated using either of the following methods:
- Token-based authentication: Requests are authenticated using a token.
- AK/SK-based authentication: Requests are authenticated by encrypting the request body using an AK/SK pair.
Token-based Authentication
The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API used to obtain a user token.
A token specifies temporary permissions in a computer system. During API authentication using a token, the token is added to requests to get permissions for calling the API.
In Making an API Request, the process of calling the API used to obtain a user token is described.
When calling the API to obtain a user token, set auth.scope in the request body to project.
{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } }
After a token is obtained, the X-Auth-Token header field must be added to requests to specify the token when other APIs are called. For example, if the token is ABCDEFJ...., X-Auth-Token: ABCDEFJ.... can be added to a request as follows:
GET https://iam.eu-west-101.myhuaweicloud.eu/v3/auth/tokens Content-Type: application/json X-Auth-Token: ABCDEFJ....
AK/SK-based Authentication
AK/SK-based authentication supports API requests with a body not larger than 12 MB. For API requests with a larger body, token-based authentication is recommended.
In AK/SK-based authentication, AK/SK is used to sign requests and the signature is then added to the requests for authentication.
- AK: access key ID, which is a unique identifier used in conjunction with a secret access key to sign requests cryptographically.
- SK: secret access key used in conjunction with an AK to sign requests cryptographically. It identifies a request sender and prevents the request from being modified.
In AK/SK-based authentication, you can use an AK/SK to sign requests based on the signature algorithm or use the signing SDK to sign requests. For details about how to sign requests and use the signing SDK, see API Request Signing Guide.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.