ios jenkins从0快速配置
1,安装:brew install jenkins
2,命令行里:jenkins 回车,第一次会生成密码和保存密码的路径如:/Users/uname/.jenkins/secrets/initialAdminPassword
3,Jenkins中配置Xcode工程:
Manage Jenkins->pluginManager->available 查找xcode插件安装
4,创建一个新任务,输入项目名称,选择“构建一个自由风格的软件项目”
General设置Discard old builds,This project is parameterized :name iOS_BRANCH branch:*/${iOS_BRANCH},设置分支参数choice parameter,multi-line string parameter设置蒲公英等描述信息
5,Additional Behaviours ,advanced clone betaviours, fetch tags,Shallow clone,Shallow clone depth 0,timeout 60;
6, Build -> execute shell #sh /Users/aaa/hello.sh $BUILD_NUMBER $WORKSPACE Release
7, 安装上传到蒲公英的插件
遇到问题jenkins启动不了,使用jenkins --httpPort=8080启动,端口占用后换端口号
脚本如下:
pod install
if [ ! -d build ];then
mkdir build
fi
PROJECT_NAME=${JOB_NAME}
# 1 clean
xcodebuild clean -workspace $WORKSPACE"/"$PROJECT_NAME".xcworkspace" -configuration Release -scheme $PROJECT_NAME
# # 2 导出 archive
xcodebuild archive -workspace $WORKSPACE"/"$PROJECT_NAME".xcworkspace" -scheme $PROJECT_NAME \
-archivePath ${PROJECT_NAME}.xcarchive -allowProvisioningUpdates
# 3 导出ipa
xcodebuild -exportArchive -archivePath ${PROJECT_NAME}.xcarchive -exportPath ./build -exportOptionsPlist ExportOptions.plist
# 上传到蒲公英 / 或者用插件也行 | ukey apikey都是和app对应的
curl -F "file=@./build/"${PROJECT_NAME}".ipa" \
-F "uKey=key" \
-F "_api_key=sdjfklasdjfklsd" \
-F "buildUpdateDescription=${PGYER}" \
https://www.pgyer.com/apiv2/app/upload
git commit 修改内容:
CHANGELOG=$(curl -u username:password "http://1.1.1.1:8080/job/$JOB_NAME/$BUILD_NUMBER/api/xml?wrapper=changes&xpath=//changeSet//comment" | sed -e "s/<\/comment>//g; s/<comment>//g; s/<\/*changes>//g" | sed '/^$/d;G' | sed 's/&//g')
ios jenkins从0快速配置的更多相关文章
- Samba快速配置
Samba是linux,unix,windows之间进行交互操作的软件组件,Sanma是基于GPL协议的自由开源软件. 快速配置samba文件服务器 1.关闭防火墙和SELinux [root@cen ...
- 阿帕奇apache服务器和webDav服务器快速配置。
当自己在家敲代码需要发请求时,就可以配置本地apache,Mac电脑自带的服务器.这个比windows上的本地服务器还要好用,下面写下最快速配置方案. 0.在开始之前需要给自己的电脑设置下开机密码,想 ...
- 在Apache下开启SSI配置支持include shtml html和快速配置服务器
作为前端开发,使用Apache快速搭建服务器极为方便. 1.找到apach安装目录,找到conf目录下 的httpd.conf 使用SSI(Server Side Include)的html文件扩展名 ...
- Centos6.5快速配置可用网卡
原文链接: Centos6.5快速配置可用网卡 安装完成后,我们启动我们的系统,此时我们的系统,是没有连网的,IP设备,并没有被激活,如果我们使用ifconfig命令查看IP地址,就会发现,此刻的地址 ...
- Spark1.0.0 属性配置
1:Spark1.0.0属性配置方式 Spark属性提供了大部分应用程序的控制项,而且能够单独为每一个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: Sp ...
- ESFramework 4.0 快速上手(01) -- Rapid引擎
(在阅读该文之前,请先阅读 ESFramework 4.0 概述 ,会对本文的理解更有帮助.) ESFramework/ESPlatform 4.0 的终极目标是为百万级的用户同时在线提供支持,因为强 ...
- Log4net快速配置使用指南。(快速搭建log4net日志平台手册)
每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...
- Linux之HugePages快速配置
关于Linux系统的HugePages与Oracle数据库优化,可以参考熊爷之前的文章,相关概念介绍的非常清晰: Linux大内存页Oracle数据库优化 本文旨在Linux系统上快速配置HugePa ...
- Spark1.0.0属性配置
1:Spark1.0.0属性配置方式 Spark属性提供了大部分应用程序的控制项,并且可以单独为每个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: SparkConf方式 Spa ...
随机推荐
- UnicodeEncodeError: 'gbk' codec can't encode character '\xee'
在将爬取到的内容写入文件时候报了这个错误,解决方案是在open()的时候给encoding参数传'utf-8'就好了,因为网页的编码就是utf-8. with open('douban.html',' ...
- 322. Coin Change零钱兑换
网址:https://leetcode.com/problems/coin-change/ 典型的动态规划问题,类比背包问题,这就是完全背包问题 问题的阶段:对数值 i 凑硬币 问题的状态:对数值 i ...
- 从零开始 —— Canvas(一)
从零开始-Canvas 1.颜色.样式和阴影 属性 a.fillStyle(设置或返回用于填充绘画的颜色.渐变或模式) 语法:context.fillStyle = color(颜色值) | grad ...
- react-native-router-flux
这是一个路由,可以用来做Android底部的导航栏,学Android的都知道,如果用原生的代码来 做导航栏,会很复杂,关系到很多复杂的知识. 接下来我就简单的说明一下如何插入和使用吧: 1.你要先依赖 ...
- 嵌入式单片机,ATmega328P,外部中断INT0,INT1,INT2,中断标志位介绍
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Forth-83 多任务解析
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- tf.contrib.slim
https://blog.csdn.net/mao_xiao_feng/article/details/73409975
- jar 包启动脚本
#!/bin/bash JAVA_HOME=/usr/java/default #java虚拟机启动参数 JAVA_OPTS="-server -Xms800m -Xmx800m -Xmn2 ...
- css flex布局,小程序flex布局,垂直居中完美解决
flex弹性布局,很好的解决了垂直居中的问题,上代码: wxml: <view class='container'> <view class='item item1'>item ...
- servlet操作本地文件汇总: 判断文件是否存在;文件重命名;文件复制; 获取文件属性信息,转成Json对象; 获取指定类型的文件; 查找替换.txt中的文本
package servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...