美文网首页
iOS Xcode Jenkins+fastlane

iOS Xcode Jenkins+fastlane

作者: 透支未来 | 来源:发表于2022-06-28 14:16 被阅读0次
    Jenkins 常用命令
    安装jenkins
    brew install jenkins  # 安装最新版本
    brew install jenkins@YOUR_VERSION  # 安装jenkins指定版本:brew install jenkins@1.1.13
    brew services start jenkins  # 启动jenkins
    brew services restart jenkins  # 重新启动jenkins
    brew upgrade jenkins  # 更新jenkins
    brew services stop jenkins  # 停止jenkins服务
    brew uninstall jenkins  # 卸载jenkins
    
    
    安装 LTS 版本
    brew install jenkins-lts  # 安装最新版本
    brew install jenkins-lts@YOUR_VERSION  # 安装指定版本:brew install jenkins-lts@1.1.13
    brew services start jenkins-lts  # 启动
    brew services restart jenkins-lts  # 重新启动
    brew upgrade jenkins-lts  # 更新
    brew services stop jenkins-lts  # 停止jenkins服务
    brew uninstall jenkins-lts  # 卸载jenkins
    
    启动Jenkins后,打开浏览器输入: localhost:8080 
    
    

    安装好Jenkins后,进行一些全局配置

    Jenkins
    
    系统管理-->系统配置
    
    image.png image.png
    image.png
    image.png
    LANG 
    en_US.UTF-8
    
    LANGUAGE
    en_US.UTF-8
    
    LC_ALL
    en_US.UTF-8
    
    PATH
    
    在终端输入  
    echo $PATH
    命令获取
    
    /Users/xxx/.rvm/gems/ruby-3.0.0/bin:/Users/xxx/.rvm/gems/ruby-3.0.0@global/bin:/Users/xxx/.rvm/rubies/ruby-3.0.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Users/xxx/.rvm/bin
    
    
    系统管理 - > 插件管理 - >可选插件 - > 过滤 - >选择插件 -> 直接安装
    Xcode integration 必须的 这个是配置Xcode 编译项的
    Keychains and Provisioning Profiles Management 证书管理 (最新版本Jenkins 有bug 不能用改用shell)
    Email Ext Recipients Column Plugin 邮件
    CocoaPods Jenkins Integration
    GitLab
    GitLab Authentication
    

    对项目进行配置

    我的视图-->项目名称-->配置
    
    image.png
    SELECTED_BRANCH
    
    image.png
    SELECTED_ENV
    
    debug
    release
    
    image.png

    配置git仓库


    image.png

    设置超时时间,设置的太小会网不好的时候会超时


    image.png

    shell脚本命令

    #!/bin/bash -il
    
    cd /自己工程的目录
    
    echo -e "=========打包==========="
    fastlane dev_uat_debug
    
    
    
    image.png

    配置Fastfile文件

    Fastfile文件
    
    # This file contains the fastlane.tools configuration
    # You can find the documentation at https://docs.fastlane.tools
    #
    # For a list of all available actions, check out
    #
    #     https://docs.fastlane.tools/actions
    #
    # For a list of all available plugins, check out
    #
    #     https://docs.fastlane.tools/plugins/available-plugins
    #
    
    # Uncomment the line if you want fastlane to automatically update itself
    # update_fastlane
    
    default_platform(:iOS)
    
    
    # 项目ID
    project_identifier_uat = "项目的Bundle Indentifier" 
    
    
    # 项目的scheme名称
    project_scheme_uat = “scheme名称”
    
    
    # .ipa文件输出路径
    ipa_outputDirectory = "~/Desktop/vv-build”
    
    # 项目的内测描述文件名称
    project_uat_provisioningProfiles = "描述文件名称"
    
    
    # 注:由于如果使用手动配置证书,在export_options指定打包方式!
    ipa_exportMethod = "development"
    
    platform :iOS do
      desc "Description of what the lane does"
    
    
    
      # ----------------------- 打包uat环境debug.ipa文件 -----------------------
        lane :dev_uat_debug do|options|
        branch = options[:branch]
    
            puts "*************| 开始打包.ipa文件... |*************"
    
            # 更新项目build号
            #updateProjectBuildNumber
    
            # 开始打包
            gym(
                # 指定输出的ipa名称
                #output_name:"#{project_scheme_uat}_#{get_build_number(xcodeproj: "DMS_APP.xcodeproj")}",
                output_name:"#{project_scheme_uat}",
                # 指定项目的scheme
                scheme:"#{project_scheme_uat}",
                # 是否清空以前的编译信息 true:是
                clean:true,
                # 指定打包方式,Release 或者 Debug
                configuration:"Debug",
                # 指定打包方式,目前支持app-store, package, ad-hoc, enterprise, development
                # 注:由于使用手动配置证书,在export_options指定打包方式
                #export_method:"#{ipa_exportMethod}",
                # 指定输出文件夹
                output_directory:"#{ipa_outputDirectory}",
                # Xcode9将不会允许你访问钥匙串里的内容,除非设置allowProvisioningUpdates
                export_xcargs:"-allowProvisioningUpdates",
                # 隐藏没有必要的信息
                silent:true,
                # 手动配置证书,注意打包方式需在export_options内使用method设置,不可使用export_method
                export_options: {
                    method:"#{ipa_exportMethod}",
                    provisioningProfiles: {
                        "#{project_identifier_uat}":"#{project_uat_provisioningProfiles}"
                    },
                }
            )
        end
    
    
    
      # ----------------------- 打包uat环境release.ipa文件 -----------------------
        lane :dev_uat_release do|options|
        branch = options[:branch]
    
            puts "*************| 开始打包.ipa文件... |*************"
    
            # 更新项目build号
            #updateProjectBuildNumber
    
            # 开始打包
            gym(
                # 指定输出的ipa名称
                #output_name:"#{project_scheme_uat}_#{get_build_number(xcodeproj: "DMS_APP.xcodeproj")}",
                output_name:"#{project_scheme_uat}",
                # 指定项目的scheme
                scheme:"#{project_scheme_uat}",
                # 是否清空以前的编译信息 true:是
                clean:true,
                # 指定打包方式,Release 或者 Debug
                configuration:"Release",
                # 指定打包方式,目前支持app-store, package, ad-hoc, enterprise, development
                # 注:由于使用手动配置证书,在export_options指定打包方式
                #export_method:"#{ipa_exportMethod}",
                # 指定输出文件夹
                output_directory:"#{ipa_outputDirectory}",
                # Xcode9将不会允许你访问钥匙串里的内容,除非设置allowProvisioningUpdates
                export_xcargs:"-allowProvisioningUpdates",
                # 隐藏没有必要的信息
                silent:true,
                # 手动配置证书,注意打包方式需在export_options内使用method设置,不可使用export_method
                export_options: {
                    method:"#{ipa_exportMethod}",
                    provisioningProfiles: {
                        "#{project_identifier_uat}":"#{project_uat_provisioningProfiles}"
                    },
                }
            )
        end
    
    end
    
    

    用配置好的Jenkins构建工程

    1.点击Build with Parameters
    2.选择分支
    3.选择运行环境
    4.开始构建
    
    image.png

    构建成功


    image.png

    相关文章

      网友评论

          本文标题:iOS Xcode Jenkins+fastlane

          本文链接:https://www.haomeiwen.com/subject/rmpavrtx.html