q987654 发表于 2018-9-3 12:31:28

使用Jenkins进行Android自动打包及SonarQube代码自动检测

  Jenkins 提供了相关的插件,登陆 jenkins,点击"Manage Jenkins",选择“Mange Plugins”点击“Avzilable”,搜索“Gradle”选中“Gradle Plugin”点击安装插件,安装后好如下图:

  下载gradle到jenkins服务器,将文件解压至/usr/local目录下,如图:

  需要配置Gradle目录的环境变量,点击"Manage Jenkins",选择“Global Tool Configuration”,填入jenkins服务器上的Gradle 客户端路径,点击保存。如图:

  在Jenkins中点击新建,输入Job名字,由于Jenkins会根据Job名字生成目录所以建议使用英文不要使用中文,然后选择构建一个自由风格的软件项目,然后点击OK进入配置页面,
  ENVIRONMENT表示构建版本是Release版还是Debug版,这样可以区分App是正式版本还是内容测试版本。




  PRODUCT_FLAVOR_BUILD表示App构建的平台


  PRODUCT_FLAVOR表示App的渠道

  GIT_TAG用于在打包时选择使用仓库上哪个分支或者TAG,其中Parameter Type可以选择Tag、Branch、Branch or Tag或者revision,这里我们选择Branch or Tag


  APP_VERSION表示APP的版本号,这里添加这个参数是为了能够让运维人员在App发布时能够指定发布的版本号。

  源码管理
  我们公司使用Gitlab进行代码管理,这里选择git,然后输入仓库地址,并在Branch Specifier绑定GIT_TAG变量,这样GIT_TAG会自动读取仓库上的分支和TAG列表。

  构建

  选择好Gradle的版本,在Tasks上输入:clean assemble'${PRODUCT_FLAVOR_BUILD}''${ENVIRONMENT}' --stacktrace --debug,按图输入即可。

  在新建Job的时候,jenkins会默认新建Job任务在服务器器。

  构建时需要用到两个脚本,Andriod开发工程有只需要向开发工程师要,将两个文件拷贝到jenkins服务器即可

  使用SonarQuber来分析代码

  sonar.projectKey=android
  sonar.projectName=android
  sonar.projectVersion=1.0
  sonar.language=java
  sonar.java.binaries=/var/lib/jenkins/workspace/android/yaok
  sonar.sources=/var/lib/jenkins/workspace/android/yaok/src
  点击保存。
  选择好需要构建的参数,选择开始构建,每一次构建都会自动从git拉取最新的代码.第一次构建Jenkins需要下载相应的jar包,耗时会比较久.

  查看构建结果:

  在新建的 Jenkins 项目的构建的 Console Output 中可以得到 SonarQube 分析结果的链接,如图:
  分析结果报告


页: [1]
查看完整版本: 使用Jenkins进行Android自动打包及SonarQube代码自动检测