需求来源

构建jenkins脚本自动化集成中,iOS应和android保持一致。之前没有接触过iOS开发,首先得将项目跑起来,使用的IDE是Xcode
该需求的Android 实现-【Jenkins】在本地的jenkinsfile中为Android项目gradle.properties配置相关属性并在通过BuildConfig类调用

接触记录

整个的jenkins File文件项目:
在这里插入图片描述

问题定位

主要目的是通过在build之前对该配置进行修改
在这里插入图片描述
jenkins进行Build之前就将上述数据0改为1;这样就变成测试环境了。

解决思路

实际操作

根据上述思路入手,并不需要iOS的文件进行修改。还是在jenkinsFile中进行修改,那么还是回到Android studio开发比较熟悉。
在这里插入图片描述

在这里插入图片描述

构建一个h文件预先测试

在这里插入图片描述
在这里插入图片描述
执行如下的代码

gsed -i s/$/hello/g test.h

使用sed对文件指定行内容修改或者行前后增加内容
执行三次!!!得到下图结果
在这里插入图片描述
执行代码

gsed -i 1a添加内容 test.h

在这里插入图片描述
功能展示
在这里插入图片描述
这里看到一个正则表达式使用用来测试一哈:
在这里插入图片描述
效果不如意,唉!
在这里插入图片描述根本没有match到!这个正则到底怎么用才起效呢!!

最终解决

sed替换和正则表达式
简单来说gsed 其实就是 sed的高级版
在这里插入图片描述

在这里插入图片描述

gsed 's/kAppIsAlphas*[0-9]*/嫦娥奔月/g' test.h

但是打开源文件发现没有修改!!!!
最后发现得用如下的命令才会真正修改

gsed -i 's/kAppIsAlphas*[0-9]*/kAppIsAlpha 1vhsfsaihewio/g' test.h

在这里插入图片描述

实际操作

正式在实际的修改环境入手试试!在py脚本上运行这个代码先!听大佬们说编译项目的机子好像咩有这个gsed,后续记得在机器上加这个。
python脚本如下:

# 用户检测环境配置切换 2022-04
import os

class CheckEnvironments:
    # 初始化配置
    def __init__(self):
        if "IS_ALPHA_ENV" in os.environ:
            self.is_alpha_env = os.environ.get("IS_ALPHA_ENV")
        
            self.work_space = os.environ.get("WORKSPACE")

    @staticmethod
    def _get_is_alpha_env():
        return os.environ.get("IS_ALPHA_ENV")

    def start_check_environment(self):
        print("[ * ] start check environment.")
        #使用测试环境:AuthConstants.h中的kAppIsAlpha 改为1,而在正式环境则为0;
        if(self.is_alpha_env == 'true')
            check_cmd = "gsed -i 's/kAppIsAlphas*[0-9]*/kAppIsAlpha 1/g' {}/GoChat/GoChat/ZegoAuthConstants.h".format(self.work_space)
        else:
            check_cmd = "gsed -i 's/kAppIsAlphas*[0-9]*/kAppIsAlpha 0/g' {}/GoChat/GoChat/ZegoAuthConstants.h".format(self.work_space)
            print("[ * ] start check environment.")
        print("[ * ] Parameter is_alpha_env is {}".format(self.is_alpha_env))
        # 执行命令行-gsed通过正则表达式修改参数
        os.system(check_cmd)
        print("[ * ] end check environment.")

在jenkins上也搭建一个IS_ALPHA_ENV的开关接口即可!在清明假期把这个捋清后续回公司编译机器将这个跑起来试试!

原文地址:https://blog.csdn.net/weixin_44002043/article/details/123915514

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11433.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注