HarmonyOS鸿蒙Next中当前如何在ci流水线上进行签名

HarmonyOS鸿蒙Next中当前如何在ci流水线上进行签名 当前如何在ci流水线上进行签名

4 回复

当前deveco studio已支持流水线构建签名

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-command-line-building-app-V5

更多关于HarmonyOS鸿蒙Next中当前如何在ci流水线上进行签名的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


文档指南里,command line tool里有,

在HarmonyOS鸿蒙Next中,CI流水线上的签名流程主要涉及使用华为提供的DevEco Studio工具和HUAWEI AppGallery Connect服务。以下是具体步骤:

  1. 准备签名证书:首先需要在AppGallery Connect中创建应用,并生成签名证书。签名证书包括.p12文件和.cer文件,分别用于私钥和公钥。

  2. 配置DevEco Studio:在DevEco Studio中打开项目,进入Project Structure,选择Signing Configs,配置签名信息。包括Store File.p12文件路径)、Store Password(密码)、Key Alias(别名)、Key Password(密钥密码)。

  3. CI流水线配置:在CI流水线中,通常使用脚本自动化签名流程。可以通过命令行工具hdc(HarmonyOS Device Connector)来执行签名操作。脚本中需要包含以下命令:

    hdc sign --store-file path/to/your.p12 --store-password your_password --key-alias your_alias --key-password your_key_password --input your_app.hap --output signed_app.hap
    
  4. 上传签名应用:签名完成后,将生成的signed_app.hap文件上传到AppGallery Connect进行发布。

  5. 自动化集成:如果使用Jenkins、GitLab CI等工具,可以将上述脚本集成到CI/CD流程中,确保每次构建后自动签名并上传。

整个过程确保签名证书的安全存储和传输,避免泄露私钥信息。

在HarmonyOS鸿蒙Next中,CI流水线签名的步骤如下:

  1. 生成签名文件:使用keytool生成.keystore文件,命令如下:

    keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
    
  2. 配置签名信息:在build.gradle文件中配置签名信息:

    android {
        signingConfigs {
            release {
                storeFile file("my-release-key.keystore")
                storePassword "your_store_password"
                keyAlias "my-key-alias"
                keyPassword "your_key_password"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    
  3. CI集成:在CI工具(如Jenkins、GitLab CI)中,通过gradle命令进行构建和签名:

    ./gradlew assembleRelease
    
  4. 环境变量保护:将签名密码等敏感信息存储在CI工具的环境变量中,避免硬编码。

通过这些步骤,你可以在CI流水线中实现HarmonyOS应用的自动化签名。

回到顶部