• 从头入手jenkins


    前段时间项目处在测试阶段。5个测试妹子围着转,你不知道幸福的啊。

    项目一共有开发、测试、生产三个环境,每次打包要切换分支代码,然后使用Xcode打包,然后生成ipa,再上传到蒲公英或者fir给测试妹子们用,实在是两眼昏花,提前更年!

    于是我开始了配置jenkins之路!

    我不习惯给别人很多个选择,所以我只写我自己的办法:

    1 、jenkins 安装

    最简单就是使用war包来安装,这真的是一件神奇的事情:https://jenkins.io

    下载好war包之后cd到war所在的目录执行下面的命令:

    java -jar jenkins.war
    

    jenkinsh默认使用的端口是8080,如果你想更改端口,执行下面的命令

    java -jar jenkins.war --httpPort=8888
    

    建议你仔细浏览控制台输出

    待Jenkins启动之后,在浏览器页面输入 http://localhost:8080

    第一次进入为了安全会让你输入初始密码然后创建账户,如果你忘记了初始密码恭喜你,你没有浏览控制台输出!

    这时候你可以有两种找回的方式:如果你没有关闭终端,在终端可以找到,你如果关掉了,不好意思我也忘记在哪个目录里了...

    //补充 在这里

    为了确保管理员安全地安装jenkins,密码已写入到日志中(不知道在哪里?)该文件在服务器上:

    /Users/leeray/.jenkins/secrets/initialAdminPassword

    2 、安装插件

    安装创建账户完成之后就开始安装插件,建议你按照官方推荐安装插件,缺少的需要用到的插件再继续手动安装

    我们项目使用的是git,大致需要下面几个插件:

    GIT plugin
    Git Changelog Plugin: 获取仓库提交的commit log
    build-name-setter:用于修改Build名称
    description setter plugin:用于在修改Build描述信息,在描述信息中增加显示
    Xcode integration: iOS专用
    

    安装方式也很简单,这里就不多少了!

    3、 创建项目

    创建一个自由风格的项目:

     丢弃旧的构建可以保证你的服务器压力没那么大,你也不需要保留过多的构建

    在源码管理里选择Git仓库地址,输入授权信息,选择分支继续:

     

    接下里我们使用脚本来构建流程,添加构建Execute shell:

    更新pod

    export LANG=zh_CN.UTF-8
    export LANGUAGE=zh_CN.UTF-8
    export LC_ALL=zh_CN.UTF-8
    pod update --verbose --no-repo-update
    

      生成ipa(这一步如果出现什么路径scheme的问题,请自行检查更改)

    # 工程名
    APP_NAME="XXXX"

    BUILD_TYPE="Release"
    # info.plist路径
    project_infoplist_path="./${APP_NAME}/APP/info.plist"
    
    #取版本号
    bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")
    
    #取build值
    bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")
    
    xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration "${BUILD_TYPE}" clean 
    
    xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -sdk iphoneos -configuration "${BUILD_TYPE}" configurationBuildDir="${configurationBuildDir}" SYMROOT='$(PWD)'
    
    echo "remove"
    rm -rf ./${BUILD_TYPE}-iphoneos/Payload
    rm -rf ./${BUILD_TYPE}-iphoneos/${APP_NAME}.ipa
    
    
    echo "building .ipa from .app"
    cd "./${BUILD_TYPE}-iphoneos"
    mkdir Payload
    cp -r ${APP_NAME}.app Payload
    zip -qr ${APP_NAME}.ipa Payload
    #zip -qr ${TARGET}-dSYM.zip ${TARGET}.xcarchive/dSYMs
    cd -
    echo `pwd`

    上传ipa至蒲公英:

    # 工程名
    APP_NAME="XXX"
    #userKey和apiKey需要在蒲公英的账号设置中查找
    userKey=""
    apiKey=""
    BUILD_TYPE="Release"
    #蒲公英打包
    curl -F "file=@./${BUILD_TYPE}-iphoneos/${APP_NAME}.ipa" 
    -F "uKey=${userKey}" 
    -F "_api_key=${apiKey}" 
    -F "updateDescription=$DESCRIPTION" 
    -F "isPublishToPublic=2" 
    http://www.pgyer.com/apiv1/app/upload

    这里,就全部实现了基本的自动打包上传分发的过程。更多细节及需求待进一步更新!

  • 相关阅读:
    [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
    [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
    [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
    [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
    Android实现推送方式解决方案
    Android Push Notification实现信息推送使用
    自定义圆形的ProgressBar
    Android网络框架Volley
    Android控件系列之RadioButton&RadioGroup
    android CheckBox控件的定义及事件监听
  • 原文地址:https://www.cnblogs.com/lidarui/p/8479528.html
Copyright © 2020-2023  润新知