• cocopods上传自动化


    事先声明:本文章的自动化上传仅限于本地配置都已完成,包括:github地址以及分支正确(用于打tag)、cocopods库配置完成、podspec文件配置完成,后续仅需要配置版本号。上文中实现打包自动化,结合cocopods自动化,可实现完整的发版自动化

    代码先上,解释在后面

    1. #!/bin/sh
    2. version="\"1.0.2\""
    3. git tag ${version}
    4. git push --tags
    5. sed -i "" "s#^ spec.version = .*# spec.version = ${version}#g" 文件名.podspec
    6. pod lib lint 文件名.podspec --allow-warnings
    7. if [ $? -eq 0 ]; then
    8. pod spec lint 文件名.podspec --allow-warnings
    9. if [ $? -eq 0 ]; then
    10. pod trunk push 文件名.podspec --allow-warnings
    11. else
    12. echo "spec failed"
    13. fi
    14. else
    15. echo "lib failed"
    16. fi

    步骤:

    1.新建一个空白文件,修改后缀名为.sh

    2.写入上文代码

    3.在终端进入.sh脚本文件所在目录。

    4.执行如下命令:

            sh 脚本文件名.sh

    详细解释下代码:

    version="\"1.0.2\""

    顾名思义,给version一个值,为"1.0.2",注意,\" 的意思是将 " 当做普通字符看,而不是关键字。\其实就是转义字符

    git tag ${version}

    git push --tags

    给github仓库打tag,tag为version的值。要求github仓库地址已经配置

    sed -i "" "s#^  spec.version      = .*#  spec.version      = ${version}#g"  文件名.podspec

    这里是修改文件的值,-i 是不复制文件,直接修改源文件。 "" 这个空字符串一定要有,不然报错,报错信息如下 extra characters at the end of q command

    #^  spec.version      = .* 这个意思是在文件中匹配字符串“  spec.version      =” 注意,空格也要完全一致才能匹配成功。 .* 的意思是匹配成功的后面的所有内容都将被替换,还需要注意的是,匹配成功的  spec.version      = 也会被替换掉

    #  spec.version      = ${version} 这个意思是讲前面的字符串替换成该字符串。包括空格数。

    文件名.podspec 被修改的文件,如果.sh脚本文件和podspec文件在同一级目录,可以直接写文件名,如果不是同一级目录,需要写路径。比如podspec在.sh的上一级,这里就是../文件名.podspec

    pod lib lint qplayer2-core.podspec --allow-warnings

    if [ $? -eq 0 ]; then

        pod spec lint qplayer2-core.podspec --allow-warnings

        if [ $? -eq 0 ]; then

            pod trunk push qplayer2-core.podspec --allow-warnings

        else

            echo "spec failed"

        fi

    else

      echo "lib failed"

    fi

    这里就很简单了,如果pod lib 成功了,就执行 pod spec命令,否则就打印 lib 失败。如果lib spec 都成功了,就运行push。

    额外需要解释的是:$? 是上一个命令的返回值,-eq 是等于的意思  0代表执行成功,1代表执行失败

  • 相关阅读:
    PLSQL连接Oracle11g64位操作步骤
    基于springboot园区管理系统的设计与实现-计算机毕业设计源码+LW文档
    Python 利用pandas和mysql-connector获取Excel数据写入到MySQL数据库
    cpu设计和实现(取指)
    android查漏补缺(2)四种编译目标
    【死磕JVM】JVM快速入门之前戏篇
    SQL DDL DML
    Stimulsoft Ultimate 2022.4.5 Crack
    VUE [入门篇(三)]
    合成数据: 利用开源技术节约资金、时间和减少碳排放
  • 原文地址:https://blog.csdn.net/qq_36924305/article/details/126894184