手记

iOS 持续集成

基础环境准备

安装更新 Docker

$ curl -sSL https://get.docker.com/ubuntu/ | sudo sh# Docker version 1.7.0, build 0baf609

安装 Jenkins

$ sudo docker pull jenkins

statr script

init

安装 MySQL

https://registry.hub.docker.com/_/mysql/

$ sudo docker pull mysql

statr script

sudo docker run --name=gitlab711 -d -h git.lantop.com \  --env='GITLAB_PORT=80' --env='GITLAB_SSH_PORT=10022' \  --publish=10022:22 --publish=80:80 \  --link=redis-gitlab:redisio \  --volume=/opt/gitlab/data:/home/git/data \  --env='DB_TYPE=mysql' --env='DB_HOST=192.168.1.1' --env='DB_NAME=gitlabhq_production' \  --env='DB_USER=gitlab' --env='DB_PASS=password' \  --env='GITLAB_HOST=git.lanvige.com' \  --env='GITLAB_EMAIL=git@example.com' \  --env='SMTP_USER=git@example.com' --env='SMTP_PASS=password' \
  sameersbn/gitlab:latest

配置 Jenkins

https://registry.hub.docker.com/_/jenkins/

安装插件

在系统管理->管理插件中可安装必要的插件。

我们需要安装git插件Git Client Plugin、Git Server Plugin, Xcode插件Xcode integration。

```

下载 jenkins docker image

$ sudo docker pull jenkins

启动

$ sudo docker run –name jenkins1 -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_data jenkins

$ sudo mkdir /var/jenkins_home $ sudo docker run –name myjenkins1 -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home jenkins

## 配置 Jenkins iOS Build Agent如果 Plugin Available 为空,请更新:Manage Jenkins > Updates > Check nowXcode IntegrationGIT plugin

$

查看进程

查看 gitlab711 Container 是否启动成功

$ sudo docker ps

查看 Container 运行日志

$ sudo docker logs gitlab711

测试

$ ssh -p 10022 -vvv git@git.lanvige.com “`

分支环境对应

Develop 分支,dev 环境 Release 分支,test 环境 Master 分支, production 环境

如何打版本号分发。

检测 Build number。如果更新,就分发到 MIS。

哦。我想写一个自动的。有 build number 更新时,进行分发,不然不分发。只跑 build & test。

buildNumber=$(git rev-list HEAD | wc -l | tr -d ‘ ’) /usr/libexec/PlistBuddy -c “Set :CFBundleVersion ${buildNumber}” “${TARGET_BUILD_DIR}/${INFOPLIST_PATH}”

Jenkins 配置 Slave

https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines

REF::

Xcode Server

Solution

原文链接:http://outofmemory.cn/objective-c/ios-jenkins-Continuous-Integration

0人推荐
随时随地看视频
慕课网APP