设置构建触发器

Poll SCM

H/2 * * * *

设置 构建脚本

#
#xodebuild & jenkins 自动构建并上传至pgyer.com
#2017年5月9日
# #定义一些变量
PROJ_NAME="zhixinStuApp"
cd ./${PROJ_NAME}
ARCHIVE_NAME="${PROJ_NAME}#${BUILD_NUMBER}#Pro.xcarchive"
LIBRARY_PATH="~/Library"
ARCHIVE_PATH="${LIBRARY_PATH}/Developer/Xcode/Archives/${ARCHIVE_NAME}"
DIS_TARGET="ad-hoc"
EXPORT_OPTION_PATH="/Users/Shared/exportOptions/ad-hoc.plist"
HOST_HEADER_PATH="/Users/Shared/exportOptions/hostConfig/HostConfig.h.pro.h"
IPA_DIR="${PROJ_NAME}#${BUILD_NUMBER}"
IPA_PATH="$/Users/Shared/Jenkins/Library/ipas/${IPA_DIR}/${DIS_TARGET}"
PLIST_PATH="./${PROJ_NAME}/Info.plist"
ENVIRONMENT_PATH="./${PROJ_NAME}/${PROJ_NAME}.entitlements"
APP_NAME="知新点点" #修改HostConfig.h文件
cp ${HOST_HEADER_PATH} ./${PROJ_NAME}/HostConfig.h #描述文件UUID
PROFILE="d825a1ea-10ad-4de9-87d1-93884e98dc79" #证书名字
IDENTITY="iPhone Distribution: Beijing Brilliant Insight Tree Technology Co., Ltd. (73HJR29D82)" #修改Xcode8中的自动签名改为手动管理
sed -i '' 's/ProvisioningStyle = Automatic;/ProvisioningStyle = Manual;/' ./${PROJ_NAME}.xcodeproj/project.pbxproj #修改CFBundleVersion为jenkins的BUILD_NUMBER
echo '修改${PLIST_PATH}中CFBundleVersion的值为${BUILD_NUMBER}'
plutil -replace CFBundleVersion -string "${BUILD_NUMBER}" ${PLIST_PATH} #修改 CFBundleDisplayName
echo '修改 ${PLIST_PATH} 中 CFBundleDisplayName 的值为${APP_NAME}'
plutil -replace CFBundleDisplayName -string "${APP_NAME}" ${PLIST_PATH} #修改 aps-environment 的值 development/production
echo '修改 ${ENVIRONMENT_PATH} 中 aps-environment 的值为 production'
plutil -replace aps-environment -string "production" ${ENVIRONMENT_PATH} #开始编译 xcode签名不能设置为自动,只能使用手动管理签名方式
xcodebuild -project ${PROJ_NAME}.xcodeproj -scheme ${PROJ_NAME} -archivePath "${ARCHIVE_PATH}" -configuration Release CODE_SIGN_IDENTITY="${IDENTITY}" PROVISIONING_PROFILE="${PROFILE}" archive #导出ipa包
xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath ${IPA_PATH} -exportOptionsPlist "${EXPORT_OPTION_PATH}" CODE_SIGN_IDENTITY=${IDENTITY} PROVISIONING_PROFILE=${PROFILE} #上传包到pgyer.com
API_KEY="09d238dda37****9ef0fa1b04e590"
USER_KEY="17dc2f6cafc****fcd24e41e16"
curl -F "file=@${IPA_PATH}/${PROJ_NAME}.ipa" -F "uKey=${USER_KEY}" -F "_api_key=${API_KEY}" https://www.pgyer.com/apiv1/app/upload

[iOS开发] 使用Jenkins自动打包并上传至蒲公英的更多相关文章

  1. Android Studio如何配置CURL指令一键打包apk上传至蒲公英

    Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...

  2. jenkins 之 iOS 打包及上传至蒲公英

    准备条件 iMAC(要 Mac OS 系统,安卓 和 苹果 可以在同一台电脑上打包) xcode 最新版,要已安装对应的开发证书(生成一个 Ad-Hoc 类型的包就有了) brew(当前管理员账户安装 ...

  3. jenkins+svn 打包部署上传服务器并正常运行项目,从安装到使用

    以前写过一个版本,jenkins打包部署的全果然,然后...没保存,现在重新写一个版本从按照开始. 项目平时部署情况,svn拉代码,开发打包后进行给测试,测试上传到跳板机,杀掉以前项目进程,上传到服务 ...

  4. jenkins 之 Android 打包及上传至蒲公英

    准备条件 iMAC,非必须(如果是 安卓 和 苹果 可以在同一台电脑上打包则要 Mac OS 系统的电脑,如果是只是给安卓打包 windows 电脑也是可以的, window 下 需要把 ls 换成 ...

  5. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  6. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  7. jenkins+svn完整打包并上传到linux服务器上

    因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...

  8. Jenkins自动打包配置

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...

  9. vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理

    一.前言 三年.net开发转前端已经四个月了,前端主要用webpack+vue,由于后端转过来的,前端不够系统,希望分享下开发心得与园友一起学习. 图片的上传之前都是用的插件(ajaxupload), ...

随机推荐

  1. (1)go 环境搭建

    1 .下载安装 https://golang.org/ 2.环境变量配置 安装后会自动配置三个环境变量 (1) GOROOT: (2) PATH: (3) GOPATH GOPATH 从1.8开始,w ...

  2. 谜题54:Null与Void

    下面仍然是经典的Hello World程序的另一个变种.那么,这个变种将打印什么呢? public class Null { public static void greet() { System.o ...

  3. Linux基础系列-Day9

    算术运算符 设置变量a=10,b=4 + 加法 [root@localhost ~]# echo $[$a+$b] 14 - 减法 [root@localhost ~]# echo $[$a-$b] ...

  4. [USACO 2017 Jan Gold] Tutorial

    Link: 传送门 A: 按值大小插入后用树状数组统计两边个数 #include <bits/stdc++.h> using namespace std; #define X first ...

  5. AGC 014 B - Unplanned Queries

    题面在这里! 很显然的一件事是,我们把路径覆盖改成两个点分别到根的路径覆盖,答案是不会变的,因为lca以上被覆盖了两次不变奇偶性.. 这么做的好处就是,我们只需要考虑每个点的覆盖次数带来的影响就行了, ...

  6. Educational Codeforces Round 9 B. Alice, Bob, Two Teams 前缀和

    B. Alice, Bob, Two Teams 题目连接: http://www.codeforces.com/contest/632/problem/B Description Alice and ...

  7. MYSQL复习笔记13-触发器trigger

    Date: 20140305Auth: Jin 一.概念1.基本概念触发器是一个被指定关联到一个表的数据对象,触发器是不需要调用的,当对一个表的特别事件出现时,它就被激活.触发器的代码也是由SQL语句 ...

  8. python框架django中结合vue进行前后端分离

    一:创建django项目 1.django-admin startproject mysite # 创建mysite项目 2.django-admin startapp app01# 创建app01应 ...

  9. http://www.pass.org

    http://www.pass.org/Learning/Recordings/Listing.aspx?category=conferences

  10. JavaScrip数组去重--终极版

    第一种 var arr = [1,2,3,4,1,2,4,5,6];console.log(arr); Array.prototype.unique = function() { var n = [] ...