Jenkins集成react Native项目打包之iOS及Android

一、新建项目

Jenkins集成react Native项目打包之iOS及Android_第1张图片

填写项目名称,选择"构建一个自由风格的软件项目",然后在下面点击OK。完成项目新建。

二、项目配置

1.项目描述

Jenkins集成react Native项目打包之iOS及Android_第2张图片

2.源码管理

这里使用的是SVN

Jenkins集成react Native项目打包之iOS及Android_第3张图片

3.构建

点击增加构建步骤,增加Execute shell

(1)第一个shell是设置编码格式

Jenkins集成react Native项目打包之iOS及Android_第4张图片

# 设置编码格式 utf-8

export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

(2)第二个shell 加载react Native 所需模块

Jenkins集成react Native项目打包之iOS及Android_第5张图片

# 进入项目所在目录

cd /Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app

# 加载初始化react Native所需的modules

npm install

# 对react native 做关联

react-native link

(3) 第三个shell 创建一个包输出目录


Jenkins集成react Native项目打包之iOS及Android_第6张图片

# 如果项目下不存在output目录就创建这个目录

if [ ! -d "/Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/output" ]; then

mkdir /Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/output

fi

(4) 第四个shell 编译打包iOS项目

Jenkins集成react Native项目打包之iOS及Android_第7张图片

# 工程名

APP_NAME="EnterpriseApp"

#打包出来的 ipa包路径

IPA_PATH="/Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/output/EnterpriseApp-ios-app.ipa"

# 编译之前clean

xcodebuild -workspace "./ios/${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration 'Debug' clean

# 编译

xcodebuild -workspace "./ios/${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -sdk iphoneos -configuration 'Debug' SYMROOT='$(PWD)'

# 使用PackageApplication打包

xcrun -sdk iphoneos PackageApplication "/Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/Debug-iphoneos/${APP_NAME}.app" -o "${IPA_PATH}"

至此 iOS项目已经打包完成

下面开始Android项目打包配置

(1) 添加构建步骤 

选择invoke Gradle script

Jenkins集成react Native项目打包之iOS及Android_第8张图片

(2) 添加一些shell 把Android打出的包copy到项目总的的输出包文件夹中


Jenkins集成react Native项目打包之iOS及Android_第9张图片

#!/bin/bash

# Android打包的输出路径

dir="/Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/android/app/build/outputs/apk"

# 项目打包输出的总路径

diectdir="/Users/ronglianxinxikeji/.jenkins/workspace/enterprise-ios-app/output"

# 把Android打的包copy进项目总输出路径

ls -al $dir|grep -v "^d"|sed -e 1d|awk '{print $9}'|while read i

do

cp $dir/$i $diectdir

done

至此 Android包构建完毕

最后 把打出的iOS和Android包上传到SVN

构建后操作

Jenkins集成react Native项目打包之iOS及Android_第10张图片

这样OK了 特别提醒 每个shell以及各步骤是有顺序的,创建是需注意,创建完之后也是可以拖动改变它们的顺序的。

你可能感兴趣的:(Jenkins集成react Native项目打包之iOS及Android)