今天终于把jenkins搞通了,记录一下自己使用的历程

 

先上一张成功图

这是用jenkins 定时构建成功的.

安装软件

第一步:安装java

由于我是在项目已经完善的时候,才决定使用jenkins的,所以是有java 环境

如果你的电脑上没有java,请先安装java.

java有两个版本 Open JDK 和 Oracle JDK

请酌情选择自己需要的版本

Ubuntu18.04是自带OpenJDK的,我使用的是Oracle JDK,开发更稳定一些

如果要安装,请自行查找java的具体安装方法,这里就简单介绍两种安装方法

Open JDK安装命令

sudo apt install default-jdk

检查安装版本

javac -version

Oracle JDK安装命令

sudo add-apt-repository ppa:webupd8team/javasudo apt updatesudo apt install oracle-java8-installer

第二步:安装Jenkins

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'sudo apt-get updatesudo apt-get install jenkins

第三步:启动jenkins

sudo systemctl start jenkins

注意:第一次启动,这句必须要执行,不然会出现jenkins 登录后白屏

第四步:设置Jenkins

1.>输入地址访问jenkins

注意 :1:如果你的jenkins装在服务器上,就用服务器的域名或者ip地址访问Jenkins.默认端口号:8080

         2,如果你只是想我一样装在自己的电脑上,使用http://localhost:8080/访问

>2.输入密码

输入地址后,进入到密码输入界面

 

密码所在的路径,图上说的很清楚,打开复制就好

查看密码命令

sudo vi /var/lib/jenkins/secrets/initialAdminPassword

输入后可看到密码,复制出来,粘贴到密码框

3:输入密码后,跳转到建议安装插件界面

直接选择建议安装的插件,安装就可以了

我在这一步出现了一个问题:由于不清楚到底该安装什么插件,我选成了手动选择安装,

然后我就变成了这样.

会有人奇怪,为什么明明不知道安装什么插件,还要偏偏选择手动安装插件?

恩,我也不知道当时我脑子里想的啥,别问我是为何,就让我忘了这一切

选择插件之后,我就出现了一个问题:

白屏

搜索了一大圈,最后发现,是因为没有启动jenkins 导致的.

如何启动,请看第三步,启动jenkins

解决完白屏的问题,重新输入url.我就看到了如下界面

安装就算告一段落了.

你以为这就结束了?不,不可能!

接下来的配置,会更让你崩溃

Jenkins 配置gitlab

第一步:安装插件

在菜单中选择 Manage Jenkins -> Manage Plugins

 

看到图片左边的Manage Jenkins没? 看到图片最下边中间的Manage Plugins没?

之所以特别说明,是因为,我在网上查教程的时候,有些是显示的中文,有些是显示的英文.估计是跟插件有关,我特意贴图,如果你的是中文,对应不上Manage Jenkins 和 Manage Plugins ,你可以对应图标,看到文字前边的图了吧,是的没错.图标对上,就差不多了

进入到如下界面

这里有四个菜单可以选择,

Update : 可升级的插件

Available : 可安装的插件

Installde:已安装的插件

Advanced:可配置代理,可通过上传文件安装插件.由于网络原因,无法正常安装插件,就可以先去下载插件,在通过这里选择文件安装

插件列表

  • Git plugin
  • Gradle Plugin
  • Email Extension Plugin
  • description setter plugin
  • build-name-setter
  • user build vars plugin
  • Post-Build Script Plug-in
  • Branch API Plugin
  • SSH plugin
  • Scriptler
  • Dynamic Parameter Plug-in
  • Git Parameter Plug-In

我是在Available中一个一个手动搜索,然后勾选,在统一下载安装的.非常麻烦.可是我实在没有好的办法啊,谁让当初选插件的,脑子抽筋了呢

这个列表,是在网上搜索的,有一些是搜索不到的,本着宁可多下载,不可错过的原则,长得差不多的都给下载了.万一漏了一个,到后续步骤不行了咋办?男人,怎么能关键时刻不行呢!

下载完成后重启,然后就是配置了

第二步:配置

在Manage Jenkins -> Global Tool Configuration中

 

配置Git ,JDK,Gradle

说明一下,的JAVA_HOMER    RADLE_HOME 中的路径必须跟系统环境变量中的路径一致,

  • JDK:别名=任意,JAVA_HOME=JDK目录
  • Git:别名=任意, Path to Git executable=Git安装目录\bin\git.exe
  • Gradle:别名=任意,GRADLE_HOME=Gradle下载目录\Gradle\gradle-2.xx
    Gradle尽量配置多个,因为项目的gradle版本可能不一样,所以需要选择不同的Gradle版本进行编译
  • 我使用的Gradle 是Android studio自带的,所以路径不太常规,如果觉得不太好看,可以自行下载配置,不过要保证版本统一.

另外 在Manage Jenkins -> Configure System ->Global properties  选项中 勾选 Environment variables

 

 

需要注意,这里的name: ANDROID_HOME 一定要跟 环境变量中的 ANDROID_HOME 一致, value:也要保持一致

接下来就是

创建项目

点击首页的 New Job 或者左边菜单的New item 创建新项目

选择Freestyle Project 如果你的显示的是中文,应该显示的是"构建一个自由风格的软件项目"

给自己的项目起个名字,一般就用apk的名字就好,省的以后项目多了,搞混

我用的是中文,也没什么问题.

点击下边的ok 进入到项目设置界面

注意看上边的那一栏菜单,可以直接点击跳转到制定菜单,也可以向下滚动到你想要的菜单位置

点击Source Code Management  (中文版显示 源码管理) 

Repository URL :项目的地址,我这里是gitlab的SSH地址,也可以用http地址,但是不建议使用,因为我在用http地址的时候,构建会出现没有权限的问题

Credentials:秘钥,也叫通行证,点击添加,进入添加秘钥界面

Kind:秘钥类型,这里要跟上一步的Repository URL对应,

1>如果你用的是http地址,就选择Username with password

username :你的gitlab账号

password:密码

2>如果你用的是SSH地址,就要选择 :SSH Username with private key

id:gitlab账号

Username:用于显示的秘钥名称

Private key :私钥 必须选中Enter directly

然后,在输入框里点击add ,添加私钥,注意了,一定是私钥,你在gitlab上添加的是公钥,不能拿gitlab上的公钥来用

私钥的位置 ~/.ssh/id_rsa ,公钥是~/.ssh/id_rsa.pub,我们在这里用的是私钥,

sudo gedit ~/.ssh/id_rsa

打开以后全部复制粘贴,一个字符串的都不少的全部复制粘贴,千万不要觉得开头的----和结尾的----- 没用,千万千万,要全部复制.因为他们也是秘钥的一部分,一个过来人的血与泪的经验劝告你

然后点击ADD添加

在Gredentials 中选择我们刚刚添加的通行证

Branch Specifier: 是选择构建的版本.你如果没有版本切换的需求,就可以直接写你需要的版本,千万,不要把版本名字写错了,千万.不然,会找不到版本,构建失败.因为你手写的.跟正确的版本号往往只差一个字母,非常难发现问题在哪.建议你用git命令输出版本,然后复制粘贴,不容易出错.

实际应用中,你的项目往往会有很多个版本,你需要构建时选择制定的版本.这个我们在后边单独讲吧.

接下来,点击或者滚动到Build (中文"构建")

选中Invoke Gradle

1>Gradle Version: 选中你前边全局配置里配置的Gradle 版本,如果你配置了多个Gradle,一定要用你项目中使用的Gradle版本.因为Gradle是不向下兼容的,如果版本不一致,GG思密达

项目中Gradle版本查看,在 根目录/gradle/wrapper/gradle-wrapper.properties中

请务必保证,android studio 的gradle版本,和jenkins中所指定的版本一致.

2>Taks:Gradle命令,用于构建apk

我的命令是:clean assembleRelease --stacktrace --debug

图中我用的不太一样: ${BUILD_TYPE}

这个是用来构建时选择版本的,我手动选择构建Release 版本,还是Debug版本

这个也放到后边讲

点击保存按钮,就可以手动打包了

开始构建

点击保存后会进入项目界面

点击左侧菜单的 Build with Parameters 就开始构建了

下边的Build History就是构建历史, 

蓝色的圆圈代表构建成功,如果是红色就是构建失败,点击后可以进入看到构建的一些信息

点击左侧的Console Output

可以查看控制台输出的日志,如果构建失败,就可以从这里找原因

如果你看到Finish :Success那么恭喜你,构建成功.生成的apk在你的jenkins安装目录下 ~/jenkins/workspace/*job名称*/app/build/output/apk/中.

我用的是ubuntu18.04 路径就是这个.其实这个 workspace 就是对应你的jen工作空间,里边的项目是从你gitlab上clone下来的,想必小伙伴们看到workspace里的内容,就会有一种恍然大明白的感觉了

定制想要的功能

1:参数化构建.如果使用任何一个参数化构建功能,请务必勾选Build ->Invoke Gradle script ->Pass all job parameters as Project properties 如果不勾选,将会不生效

选择git分支

上边我们提到,如果我的项目有很多人同时开发,有非常多的版本,我怎么选择打包自己想要的版本?

1>在项目的Configure-> General中 选中 This project is parameterized (中文显示:参数化构建过程)

点击Add Parameter -> Git parameter

name:branch  

Description:说明

Parameter Type:选择Branch or Tag

Default Value : 默认分支(gitlab 里的分支),千万不要写错分支号了

这样Build项目的时候,就会出现选择分支

 

选择构建Release 还是Debug版

点击Add Parameter -> Git parameter ->Choice Parameter

将Build 中Tasks:内容修改成如下

就可以选择Release 和Debug版本 了

 

更多相关文章

  1. 如何配置ubuntu服务器用于embedded-linux的开发
  2. Android的APK安装过程 JVM Dalvik和ART等虚拟机区别以及DEX文件O
  3. WINDOWS7环境下android studio、NDK配置补充
  4. Google让Android应用不需要安装就能运行
  5. Android程序员指南(4)
  6. 实现静默安装和卸载应用
  7. [Android] 基于 Linux 命令行构建 Android(安卓)应用(四):命令行构
  8. Android(安卓)Studio--低版本如何不使用AndroidX编译
  9. Android兼容库

随机推荐

  1. 半年21项全新发布和升级,百度飞桨团队「码
  2. DeepMind星际争霸AI登上Nature,超越99.8%活
  3. 在图像生成领域里,GAN这一大家族是如何生
  4. 顶会抄顶会:SIGIR 2019论文被爆抄袭,部分内
  5. ECC内存与普通内存之间的区别
  6. Shell 流程控制
  7. VB.NET和Python有什么不同?前景分析!
  8. 如何提取视频声音,将视频中的音乐提取出来
  9. 【金三银四】Java中间件面试题(2021最新版
  10. Scikit-learn的六大功能!Python学习