整个过程详见:https://www.jianshu.com/p/91e8f571fc2b

以下是遇到的问题及解决过程

一、安装homebrew(网速很慢很慢……被墙了)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

查看 Homebrew 版本

brew -v

详见:https://www.jianshu.com/p/117424d09d4c

homebrew换源,不然慢的要死

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
cd "$(brew --repo)"/Library/Taps/caskroom/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
echo 'export HOMEBREW_BOTTLE_DOMAIN=[https://mirrors.ustc.edu.cn/homebrew-bottles'](https://mirrors.ustc.edu.cn/homebrew-bottles' rel=) >> ~/.zshrc
source ~/.zshrc

详见:https://www.jianshu.com/p/766c047f625f

二、安装jenkins(网速很慢很慢……被墙了,查看上面的homebrew换源)

brew install jenkins

A.如果出问题

Updating Homebrew...
jenkins: Java 1.8 is required to install this formula.
JavaRequirement unsatisfied!
You can install with Homebrew-Cask:
brew cask install homebrew/cask-versions/java8
You can download from:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.

根据提示安装Java

brew cask install homebrew/cask-versions/java8

安装完成后再次执行

brew install jenkins

B.如果出问题

jenkins: Java 1.8 is required to install this formula. Install AdoptOpenJDK 8 with Homebrew Cask: brew cask install homebrew/cask-versions/adoptopenjdk8 Error: An unsatisfied requirement failed this build.

根据提示安装

brew cask install homebrew/cask-versions/adoptopenjdk8

安装完成后再次执行

brew install jenkins

三、启动jenkins

jenkins

在浏览器打开 http://localhost:8080 如果页面有内容就是安装成功了

四、获得账号密码

账号 admin

1.finder 前往文件夹 导航到/Users/Shared/Jenkins/Home文件夹;
2.右键单击secrets文件夹,选择显示简介
3.滚动到最下面,然后单击右下角的锁定图像>输入您的密码>确定;
4.点击弹出窗口左下角的“+”,将当前电脑用户添加到共享与权限中,设置为只读读与写;
5.打开secrets文件夹,找到该initialAdminPassword文件以获取初始的管理员密码。如果您没有该文件的权限,则需要右键单击该文件并选择显示简介,然后重复上述步骤3和4访问该文件。

也可以mac显示隐藏文件,找到secrets文件夹

defaults write com.apple.finder AppleShowAllFiles -boolean true

killall Finder

五、安装jenkins插件

目前安装的插件如下(安装插件时有时会报错,必须依赖其他插件时,按照提示优先安装需要的插件,再次重新安装即可):

branch-api.hpi

build-token-root.hpi

git-client.hpi

git-parameter.hpi

git.hpi

gitlab-api.hpi

gitlab-branch-source.hpi

gitlab-hook.hpi

gitlab-logo.hpi

gitlab-oauth.hpi

gitlab-plugin.hpi

locale.hpi

publish-over-ssh.hpi

ruby-runtime.hpi

xcode-plugin.hpi

A.jenkins系统管理>>管理插件>>高级 菜单

下将升级站点中的URL设为
http://mirror.xmission.com/jenkins/updates/current/update-center.json
保存并且重启Jenkins

进入 系统管理>插件管理>可选插件,右上角搜索框输入需要的插件名字,选中点击安装。经常会下载失败。可以通过下面B的方式,先下载再上传即可解决。

B.如果A的在线下载失败,可以在此http://updates.jenkins-ci.org/download/plugins 搜索需要的hpi文件,下载后然后进行以下操作

系统管理>插件管理>高级>上传插件(选择文件上传即可)

详见:https://blog.csdn.net/ZNWhahaha/article/details/81269041

因为jenkins版本过低导致插件安装失败

详见:https://www.cnblogs.com/sxdcgaq8080/p/10489326.html

详见:下载后手动更换 jenkins.war 文件 https://www.cnblogs.com/huangzs/p/11719581.html

六、jenkins修改显示语言为中文

下载插件 Localization: Chinese(Simplified)

安装后 系统管理 -> 系统设置 -> Locale

设置为 zh_cn  简体中文

重启jenkins

详见:https://www.cnblogs.com/ycyzharry/p/11664654.html

七、新建项目

新建Item 输入项目名字,构建一个自由风格的软件项目即可

八、配置git

配置Repository URL是http连接后如果报以下错误,git仓库总是连不上,可以在gitlab配置SSH认证,然后jenkins里git仓库地址改为SSH地址,输入git的账号密码,设置分支即可解决。

Failed to connect to repository : Command "/usr/local/git/git-2.12.2/git ls-remote -h https://github.com/Frodez/jenkinsTest.git HEAD" returned status code 128:
stdout:
stderr: fatal: unable to access '/root/etc/gitconfig':

解决方式:

Git - 生成 SSH 公钥

ssh-keygen
cd ~/.ssh
open ~/.ssh

打开文件夹,就可以找到id_rsa.pub文件了,里面内容就是公钥。

gitlab 点击账号头像>Settings>SSH Keys>Add an SSH key (Title写邮箱,Key写id_rsa.pub的内容)

详见:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5

九、配置Xcode

1.Xcode Schema File 配置为工程里Target名字

2.Configuration 配置Release 或者Debug

3.勾选 Pack application, build and sign .ipa?

Export method 配置为证书方式 ad-hoc

.ipa filename pattern 配置为 Target名字,方便上传蒲公英找到ipa位置

4.Code signing & OS X keychain options

勾选 Manual signing

然后配置Bundle ID 和 配置文件的UUID(找到配置文件,右键显示简介即可看到UUID)

4.Advanced Xcode build options

Xcode Workspace File 配置为 ${WORKSPACE}/Target名字/Target名字

十、上传到蒲公英

uKey 和 apiKey 从以下网址获取

http://www.pgyer.com/doc/api

IPA_PATH路径中***改为jenkins中生成的ipa路径名字

#蒲公英上的User Key
uKey="******"
#蒲公英上的API Key
apiKey="*******"
#要上传的ipa文件路径
IPA_PATH="${WORKSPACE}/build/Release-iphoneos/***.ipa"
#密码
MSG="${commitMsg}"
#执行上传至蒲公英的命令
echo "++++++++++++++upload+++++++++++++"
curl -F "file=@${IPA_PATH}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" -F "updateDescription=${MSG}" -F "password=${PASSWORD}" https://qiniu-storage.pgyer.com/apiv1/app/upload

十一、开始构建 Build Now

构建历史中 蓝色为成功 红色为失败 灰色为取消

Jenkins自动化打包(Gitlab)并上传蒲公英的更多相关文章

  1. gitlab+jenkins自动化打包APK

    前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...

  2. gitlab+jenkins自动化打包IOS-jenkins配置

    实现的效果如图:  构建界面: 完成效果: 功能说明: 根据选择的代码分支,执行构建打包 构建成功后根据ipa/apk生成二维码,并可在历史构建列表中展示各个版本的二维码,通过手机扫描二维码可直接安装 ...

  3. Android Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  4. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

  5. Docker打包镜像并上传

    Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...

  6. iOS Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  7. 使用Maven打包项目并上传到Linux服务器

    Maven打包: 项目右键Run as-->Maven build...-->  出来下面的界面,注意红色部分的填写,Goals填写package表示打包,下面的Skip Tests表示打 ...

  8. k8s使用helm打包chart并上传到腾讯云TencentHub

    本文只涉及Helm的Chart操作,不会对其他知识进行过多描述.至于安装这块,麻烦自行百度吧,一大堆呢. 在容器化的时代,我们很多应用都可以部署在docker,很方便,而再进一步,我们还有工具可以对d ...

  9. Gitlab 项目上传

    一,登陆gitab,新建reject Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private : 仓库权限(公开共享,私有或指定合作 ...

随机推荐

  1. git本地下载github上的某项目的部分资源

    注意以下命令要在git bash下进行,不要是cmd,或者是powershell. cd 到某个目录下 git init git  remote add -f origin <url> g ...

  2. 【转载】 C#通过File类实现文件拷贝复制的功能

    在Windows系统的使用过程中,一个较常使用的功能就是文件的复制拷贝操作,其实在C#开发中,也可以使用File类库中的Copy方法来实现文件的拷贝,支持设定原文件地址,以及拷贝复制后的文件存放路径. ...

  3. 【已解决】老型号电脑需要按F1键才能进入系统

    [已解决]老型号电脑需要按F1键才能进入系统 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Tue, 16 Jul 2019 20:49:00 +0800 问题描述:电脑因 ...

  4. java.sql.Date和java.sql.Timestamp转换

    转自:https://www.xuebuyuan.com/1479399.html 在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换.若对应数据库数据是o ...

  5. Ubuntu 与 Debian 的关系

    Debian 于 1993年8月16日 由一名美国普渡大学学生 Ian Murdock 首次发表. Debian 是由 GPL 和其他自由软件许可协议授权的自由软件组成的操作系统, 由 Debian ...

  6. c# 定制Equals()

  7. VMnet、VMnet1和 VMnet8的区别是什么

    1.经常使用虚拟机的人在配置网络的时候在疑惑 虚拟的 网卡 VMnet1 和 VMnet8的差别是什么 如上面的图, 是安装了一台虚拟机,下图是安装了多个网卡以及虚拟机产生的虚拟网卡 VMware N ...

  8. nginx + php-fpm 搭建owncloud

    本文首发:https://www.cnblogs.com/somata/p/NgnixAndPhp-fpmBuildOwncloud.html 今天新研究的nginx,用owncloud来测试一下学的 ...

  9. arduino之16*16点阵庆祝祖国70周年

    之前电脑上存了很多自己写的关于arduino的有趣的小demo,因为重装了系统,不小心误删了所有的文件(气的半死),所以现在准备一有空就重写一下之前写过的东东,顺带再温习一次,这次总不能再删了吧,嘿嘿 ...

  10. 提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件

    提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件 11月5日,在『WAVE Summit+』2019 深度学习开发者秋季峰会上,百度对外发布基于 ERNIE 的语义理解 ...