Mac系统下,保姆级Jenkins自动化部署Android

一、Jenkins自动化部署

1、安装jenkins

官网:macOS Installers for Jenkins LTS

选择macOS

brew install jenkins-lts

安装最新: brew install jenkins-lts

启动jenkins服务: brew services start jenkins-lts

重启jenkins服务: brew services restart jenkins-lts

更新jenkins版本: brew upgrade jenkins-lts

2、 打开浏览器进入链接 http://localhost:8080.
3、填写初始密码,激活系统

在/Users/你的电脑名称/.jenkins/secrets/initialAdminPassword文件中找到密码 并且填写激活

4、安装推荐的插件,安装成功
5、设置用户名密码
6、实例配置

7、全局配置

配置完成进来首页,点击Tools

8、配置JDK,新增JDK

9、配置git 路径:/usr/bin/git

10、Gradle安装

先安装一个项目中用到的6.5版本,操作完这三个,点击下面的保存,回到Manage Jenkins

11、系统配置,

打开下面的System

12、配置 ANDROID_SDK 的路径

增加 android_home 的环境变量

ANDROID_HOME=/Users/xxx/Library/Android/sdk,配置完点击保存

13、接下来就要创建项目了,选择自由风格

14、配置git

15、我们的git地址是http,所以需要配置认证,Credentials中点击添加

再打开的窗口中,输入你的代码库用户名密码

16、构建打包脚本,这里有这些选项,可以使用 Invoke Gradle script,

不会写shell脚本,我先用了Invoke Gradle script

选择 Use Gradle Wrapper Tasks里面写上clean assembleRelease

因为平时在Android studio中打包命令是 ./gradlew clean assembleDebug ./gradlew clean assembleRelease

所以Tasks里面是这样写的

17、配置构建后操作

选择归档成品

**/*.apk

构建成功,哦耶!

apk路径在工作空间/app/build/output  下面

二、上面实现了最基本的构建打包过程,下面我们来实现一下参数化配置,让其更秀!

配置参数化构建过程

1、添加参数,选项参数,构建类型,release包还是debug包

2、添加参数,字符参数CHANNEL,渠道,多个渠道用逗号分隔

3、这时发现我没有Git Parameter,所以去插件管理里面,搜索这个插件进行安装

这样就可以实现分支选择了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/417017.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库课程设计-图书管理系统数据库设计

目录 一、实验目的 二、实验内容 三、实验要求 四、实验设计 4.1需求分析 4.1.1系统目标 4.1.2功能需求 4.1.3性能需求 4.14界面需求 4.2概念模型设计 4.2.1 实体及联系 4.2.2 E-R图 4.3 逻辑设计 4.3.1 E-R模型向关系模型的转换 4.3.2 数据库逻辑结构 4.3.3数据库模型函数依赖…

HTML5:dialog

JavaScript 练手小技巧&#xff1a;HTML5 的 dialog 标签制作对话框_dialog html-CSDN博客 <dialog id"dialog"> <h2 align"center">修改</h2> <input type"text" id"title1" placeholder"标题" value…

29、WEB攻防——通用漏洞SQL注入增删改查盲注延迟布尔报错

文章目录 盲注增删改查 盲注 概念&#xff1a;在注入过程中&#xff0c;获取的数据不能回显至前端页面&#xff0c;此时我们需要利用一些方法进行判断或尝试&#xff0c;这个过程被称为盲注。 解决&#xff1a;常规的联合查询注入不行的情况。 分类&#xff1a; 基于布尔的SQ…

1.C语言——基础知识

C语言基础知识 1.第一个C语言程序2.注释3.标识符4.关键字5.数据类型6.变量7.常量8.运算符9.输入输出输入输出 1.第一个C语言程序 C语言的编程框架 #include <stdio.h> int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }2.注释 单行…

git提权

实验环境——vulnhub-dc2靶场 git提权 前提&#xff1a;用户可以使用sudo中git权限 查看sudo权限 sudo -l可以发现git命令存在sudo提权 基于此进行权限提升 方式&#xff1a; sudo git help config #在末行命令模式输入 !/bin/bash 或 !sh #完成提权 sudo git -p help…

RTMP对接腾讯云问题记录

RTMP对接腾讯云问题分析报告 问题现象及原因分析 1. 连不上腾讯云RTMP服务器 连不上腾讯云RTMP服务器&#xff0c;抓包显示服务器在握手完成后&#xff0c;主动断开了当前TCP链接。问题原因可能是connect中的tcUrl不能把域名转为IP&#xff0c;导致在握手不久服务器主动断开…

HCIA—— 16每日一讲:HTTP和HTTPS、无状态和cookie、持久连接和管线化、(初稿丢了,这是新稿,请宽恕我)

学习目标&#xff1a; HTTP和HTTPS、无状态和cookie、持久连接和管线化、HTTP的报文、URI和URL&#xff08;初稿丢了&#xff0c;这是新稿&#xff0c;请宽恕我&#x1f636;‍&#x1f32b;️&#xff09; 学习内容&#xff1a; HTTP无状态和cookieHTTPS持久连接和管线化 目…

ARIMA 模型

目的 预测 要求 数据具有平稳性——“惯性”&#xff0c;平稳性要求数据的均值和方差不发生明显变化。 严平稳&#xff1a;分布不随时间的改变而改变。 弱平稳&#xff08;大部分&#xff09;&#xff1a;期望与相关系数&#xff08;依赖性&#xff09;不变。未来某时刻…

【Qt5】QString的成员函数trimmed

2024年1月19日&#xff0c;周五下午 QString 的 trimmed 方法是用于移除字符串两端的空白字符&#xff08;空格、制表符、换行符等&#xff09;的方法。它返回一个新的字符串&#xff0c;该字符串是原始字符串去除两端空白后的结果。 下面是一个简单的示例&#xff1a; #incl…

x-cmd pkg | skate - 个人键值对存储工具

目录 简介用户首次快速实验指南功能特点竞品和相关作品进一步探索 简介 skate 是个人键值对存储工具&#xff0c;具备数据加密、云端数据备份以及多设备同步等功能。 它由 Charm 团队开发&#xff0c;借用 Charm Cloud 向用户提供一种快捷的方式来保存和检索各种数据&#xf…

Transformer详解(附代码实现及翻译任务实现)

一&#xff1a;了解背景和动机 阅读Transformer论文&#xff1a; 阅读原始的Transformer论文&#xff1a;“Attention is All You Need”&#xff0c;由Vaswani等人于2017年提出&#xff0c;是Transformer模型的开创性工作。 二&#xff1a;理解基本构建块 注意力机制&#…

vue中引入sass、scss

常规步骤 1. 创建项目 使用vue cli 脚手架工具创建项目 vue create xxxx2. 创建全局样式文件 全局样式变量 路径&#xff1a;/assets/styles/variables.scss //flex 布局变量 $--flex-direction: ("row", "column"); $--flex-position: ("start"…