jenkins+gitlab实现Android自动打包填坑之旅

一.背景

1.首先你需要知道你想要实现的Android自动打包的Android项目的一些环境配置及需要使用的一些开发版本。

声明:本文 Android项目基于:1.jdk11 2.SDK无要求 3.gradle无要求(同Manven一样为项目自动化构建开源工具)

注:本文适用于 任何版本 jdk SDK Gradle。

了解Android项目使用到的东西就可以开始干活了..........  xixi

----------------------------------------------------------------------------------------------------------------------------

二.基本软件安装

软件安装网上有大量教程这里不再赘述。

1.gitlab    

2.jenkins

3.Android Studio(为啥要下这个?当然是为了更方便的安装SDK)

   3.1  简要概述如何使用Android Studio下载SDK

          本人非Android开发程序员,若有表述不当,嘿嘿。。

打开Android Studio你会看到Preference这个选项

 有人可能要问为啥下这么多SDK?这我又哪知道一个Android项目里面要用不同版本的SDK。总之,你Android项目中涉及到哪些就下啥吧。

4.本地gradle安装(温馨提示:看看后面Android自动打包的不同方式再决定是否安装,有一种方式不需要下载gradle,可以让gekins帮你安装)

本文不详细阐述安装过程,具体可以看看网上其他资源。注意红色字体,可能会是你的坑...heihei

  1.下载好需要使用的gradle的安装包,并解压

   2.配置好环境变量(就是把你的gradle解压后的文件目录配置/bin   到$PATH这个全局变量里)

   3.使用gradle -v检查是否能显示版本信息(确保解压后的bin目录下的gradle可执行文件,在当前用户下具有可执行权限

5.本地git安装

三.正题---新建任务开启Android打包自动化。 

言归正传  下面我们讨论实现Android自动化打包的几种方式。

3.1 gekins 插件安装

安装要使用到的一些插件像git  gitlab  gradle这些的插件就是基本的。这里就不在赘述(如果你看见你的与我的jenkins相比少了一些选项就是插件不全导致的)

3.2 系统管理 -》系统配置

主目录:

Jenkins访问路径:一般为    电脑ip+端口 

环境变量配置:ANDROID_HOME 

 3.3 系统管理 -》全局工具配置

1.jdk 

2.git

 3.gradle

 3.4 新建任务

 

该我说话了:你还要把生成的公钥放大gitlab上。不知道的推荐看看下面这篇

https://www.cnblogs.com/dotnet261010/p/12393917.html

存在坑:可能按照要求添加凭据后仍然无法连接到gitlab 

1.首先你要确保git在本地安装好了 git --version

2.参考这篇文章或许对你有帮助 jenkins 配置git 提示“无法连接仓库:Command “git ls-remote -h -- gitxxxxxxxxx status code 128”_jekins 无法访问仓库地址-CSDN博客

3.5 最终一步:build Step

gradle和gradlew打包方式的区别:开胃甜品 heihei~

八、Mac 配置 gradle和 ./gradlew 命令 - 简书

gradle:打包的方式:你可理解为需要借助你本地的gradle

 

建议:可以先在本地配好一个gradle,然后通过终端命令行的方式输入命令看看是否能打包。只有你通过终端命令行的方式打包成功,你上面配置才会可能。 

gradlew打包的方式:你可以理解为使用项目内的gradle(注:这里他会自动的去下载gradle )

可能出现的问题:Downloading https://services.gradle.org/distributions/gradle-5.1.1-bin.zip  Exception in thread "main" java.net.ConnectException: Operation timed out 

因为这玩意儿是在github.com上的,慢的很,所以会出现超时的情况。 

所以建议选择使用gradle命令打包的方式,使用自己已经安装好的gradle 

 

迫不得已,逼上绝境

上面两种方式都是借助jenkins中的gradle环境,虽然第一种下载了gradle在本地,但是第一二种方法都不需要在本地配置gradle环境 。

那么如果你能在本地配置好gradle后,可以通过终端命令进行打包的话,那么方案三来了。

方案三: 通过执行shell脚本,来打包(需要配好本地环境)

这里我们不再选择Invoke Gradle script而是执行shell

 

MTS_Clien.sh脚本

# !bin/bash

cd /Users/lilei/.jenkins/workspace/MTS_Client/MTS_Client
sleep 1
gradle clean
sleep 1
gradle assembleRelease

最后若有疑问可在评论区讨论。     滴滴  heihei~

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-25 09:20:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-25 09:20:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-25 09:20:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-25 09:20:01       20 阅读

热门阅读

  1. Android 获得通讯录并展示

    2024-01-25 09:20:01       34 阅读
  2. android 自定义键盘长按弹窗

    2024-01-25 09:20:01       34 阅读
  3. EasyExcel无法转换LocalDateTime日期类型的问题

    2024-01-25 09:20:01       24 阅读
  4. StarRocks本地部署

    2024-01-25 09:20:01       37 阅读
  5. 在 Python 3 中如何使用 args 和 kwargs

    2024-01-25 09:20:01       40 阅读
  6. vue3 自动引入 ref reactive...

    2024-01-25 09:20:01       35 阅读
  7. 06-枚举和模式匹配

    2024-01-25 09:20:01       36 阅读
  8. 【前端基础--1】

    2024-01-25 09:20:01       37 阅读
  9. vue 项目中常用的几种import 书写 方式

    2024-01-25 09:20:01       33 阅读
  10. 基于SQL的分析挖掘案例

    2024-01-25 09:20:01       34 阅读
  11. diffusion 和 gan 的优缺点对比

    2024-01-25 09:20:01       33 阅读
  12. 11.swarm

    2024-01-25 09:20:01       40 阅读