shell脚本程序自动打包

【Qt依赖库】Linux 环境下 Qt 可执行程序依赖库打包脚本 文章目录Linux 环境下 Qt 可执行程序依赖库打包脚本一、利用 ldd 命令查看程序需要的依赖库二、编写依赖库打包脚本三、总结 Linux 环境下 Qt 可执行程序依赖库打包脚本 使用 Qt Creator 完成程序编码之后,虽然会在 Debug 或 Release 文件下生成可执行程序,但是他们是依赖 Qt Creator 环境的,拷贝到别的机器上就会提示加载依赖库错误。 那么该如何解决呢... 阅读详情

自动打包

#使用方法

# 删除IPADir包

if [ ! -d ./IPADir ]; then
    mkdir -p IPADir;

fi

# 删除build包

if [[ -d build ]]; then
    rm -rf build -r

fi

#工程绝对路径
project_path=$(cd `dirname $0`; pwd)

#工程名 将XXX替换成自己的工程名
project_name=BTC

#scheme名 将XXX替换成自己的sheme名
scheme_name=BTC

#打包模式 Debug/Release
development_mode=Release

#build文件夹路径
build_path=${project_path}/build

#plist文件所在路径
exportOptionsPlistPath=${project_path}/exportTest.plist

#导出.ipa文件所在路径
exportIpaPath=${project_path}/IPADir/${development_mode}

echo "请输入你想法发布的方式 ? [ 1:app-store 2:ad-hoc] "

##

read number

    while([[ $number != 1 ]] && [[ $number != 2 ]])
    do

        echo "笨蛋,只能输入 1 or 2"
        echo "请输入你想法发布的方式 ? [ 1:app-store 2:ad-hoc] "

        read number

    done

if [ $number == 1 ]; then

    development_mode=Release
    exportOptionsPlistPath=${project_path}/exportAppstore.plist

## 证书名字
else

    development_mode=Release
    exportOptionsPlistPath=${project_path}/exportTest.plist

fi

echo '///-----------'
echo '/// 正在清理工程'
echo '///-----------'

xcodebuild \

clean -configuration ${development_mode} -quiet  || exit

echo '///--------'
echo '/// 清理完成'
echo '///--------'

echo ''
echo '///-----------'
echo '/// 正在编译工程:'${development_mode}
echo '///-----------'

xcodebuild \

archive -workspace ${project_path}/${project_name}.xcworkspace \

-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive -quiet  || exit

echo '///--------'
echo '/// 编译完成'
echo '///--------'
echo ''
echo '///----------'
echo '/// 开始ipa打包'
echo '///----------'

xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \

-configuration ${development_mode} \

-exportPath ${exportIpaPath} \

-exportOptionsPlist ${exportOptionsPlistPath} \

-quiet || exit

if [ -e $exportIpaPath/$scheme_name.ipa ];

    then

    echo '///----------'
    echo '/// ipa包已导出'
    echo '///----------'

    open $exportIpaPath

    else

    echo '///-------------'
    echo '/// ipa包导出失败 '
    echo '///-------------'

fi

echo '///------------'
echo '/// 打包ipa完成  '
echo '///-----------='
echo ''
echo '///-------------'
echo '/// 开始发布ipa包 '
echo '///-------------'

if [ $number == 1 ];

    then

    #验证并上传到App Store

    # 将-u 后面的XXX替换成自己的AppleID的账号,-p后面的XXX替换成自己的密码

    altoolPath="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool"

    "$altoolPath" --validate-app -f ${exportIpaPath}/${scheme_name}.ipa -u xxxx [-p xxx]
    "$altoolPath" --upload-app -f ${exportIpaPath}/${scheme_name}.ipa -u  xxxx -p xxx

else

    echo "请输入你要发布的平台 ? [ 1:fir 2:蒲公英] "

    ##

    read platform

        while([[ $platform != 1 ]] && [[ $platform != 2 ]])

        do
            echo "笨蛋,只能输入 1 or 2"
            echo "请输入你要发布的平台 ? [ 1:fir 2:蒲公英] "
            read platform

        done

            if [ $platform == 1 ];

                then
                #上传到Fir

                # 将XXX替换成自己的Fir平台的token
                fir login -T 32b6a0e5066c66c0e3e8146836546d93
                fir publish $exportIpaPath/$scheme_name.ipa

            else

                echo "开始上传到蒲公英"

                #上传到蒲公英
                #蒲公英aipKey
                MY_PGY_API_K=xxx
                #蒲公英uKey
                MY_PGY_UK=xxxx

                curl -F "file=@${exportIpaPath}/${scheme_name}.ipa" -F "uKey=${MY_PGY_UK}" -F "_api_key=${MY_PGY_API_K}" https://qiniu-storage.pgyer.com/apiv1/app/upload

            fi

fi

echo "\n\n"
echo "已运行完毕>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"

exit 0

脚本

一般把 shell.sh 文件放在工程目录,终端cd 到当前工程路径下,

输入 ./shell.sh 回车执行,后面按提示执行

【CICD运维】GitLab + Shell + Minio实现应用程序自动打包,自动生成版本号,并且上传到Minio对象存储系统归档保存 针对上面发现的问题,于是,我就想着,是不是可以写一个脚本,每次等GitLab流水线执行完成之后,自动的生成符合要求的版本号,然后将前、后端的包文件,统一压缩到指定版本号的目录中,最后,再将版本包复制到Minio系统存放路径下面。于是,查找了一些资料,发现Minio官方提供了一个专门和Minio服务端进行交互的客户端工具,叫做:【Minio Client】,简称:【mc】,mc中提供了很多的命令,其中就有一个【mc cp】命令,这个命令就是复制文件的。 阅读详情

相关推荐

Neo4j 智能供应链应用源代码简析

本文简析Neo4j智能供应链应用的源代码,让你也可以快速开发自己的供应链应用。

Neo4j 开发者博客 1681

封装 Shell 脚本

对包含原生代码的应用进行调试和性能剖析时,一些需要在进程启动时便启用的调试工具通常很有用。这要求您以全新的进程来运行应用,而不是从 zygote 克隆。

yangzex的专栏 1928

A B C三个气象站的小波分析结果解读

在小波分析的过程中,信号的不同频率分量会在不同的尺度上显现,而纵轴上的数值表示信号在相应尺度上的强度或能量。2. **小波方差的横轴(水平轴)**:横轴上的尺度表示用于分析的小波函数的尺度。1. **共同趋势:** 在所有三个点的小波方差图中,随着尺度的增加,方差逐渐增大,尤其是在较大的时间尺度上。3. **尺度30的特殊性:** 在所有点的小波方差图中,尺度30似乎是一个特殊的点,对应着一个较长的时间尺度上的波动或变化。2. **方差的大小:** 方差的大小反映了在相应尺度下信号的波动强度。

weixin_44259522的博客 861

Shell脚本定时打包文件

Shell脚本定时打包文件遇到的坑

m0_59147015的博客 1620

PHP证书图片生成

$realname = "姓名"; $schoolname = "学校"; $idcard = "身份证号"; $image = imagecreatefrompng('certification.png'); // 证书模版图片文件的路径 $red = imagecolorallocate($image,00,00,00); // 字体颜色

4036

Tauri开发环境配置避坑指南:从Rust到Node.js的全流程实战

本文是一份详尽的Tauri开发环境配置实战指南,重点解析了从Rust工具链安装、Node.js版本管理到IDE配置的全流程。文章深入探讨了包管理器选择、依赖锁定、网络镜像加速等关键环节,并提供了开发与构建过程中典型问题的排查思路与解决方案,旨在帮助开发者高效避坑,顺利搭建跨平台桌面应用开发环境。

w3x4y的博客 294

DEB打包流程—新手入门(附自动化打包shell源码)

deb包在linux系统下的一种安装包,它是基于tar包的。所以同样会记录着文件的权限信息(读、写、可执行)、所有者、用户组等 可以使用dpkg -l命令来查看系统以及安装了哪些deb包。

江湖小浪花的博客 1万+

PyMOL下载安装教程(附安装包)2025最新版(PyMOL 3.0.3)

本文详细介绍了Windows系统下PyMOL分子建模软件的安装教程。主要内容包括:提供安装包下载链接,强调需关闭杀毒软件;分步骤讲解管理员身份运行安装程序、接受协议、选择安装路径等安装流程;重点说明如何配置隐藏文件夹ProgramData中的许可证文件;最后提供基础使用技巧和常见问题解决方案。该教程适用于需要制作高质量分子结构图的科研人员和新手用户,帮助完成软件部署并顺利开展工作。

progalchemist的博客 3822

shell脚本实现可执行程序自动打包和部署的一种方式

shell脚本实现可执行程序自动打包和部署的一种方式

weixin_38331755的博客 3468

跨 Agent 语义沟通机制构建:共享知识图谱与语义对齐方法

在具身智能与多智能体系统协同日益复杂化的背景下,跨 Agent 的语义沟通能力成为任务完成效率和系统鲁棒性提升的关键技术路径。本文系统分析了当前业界在共享知识图谱、语义嵌入对齐、语义意图建模与跨模态语义通信协议设计方面的实践经验,深入讲解如何在 Habitat-MARL 与 Isaac-MARL 等平台中,基于实体-关系结构、语义分布表示与任务上下文,构建具备理解、共享、协作能力的多 Agent 语义系统。文章以工程实战为主,覆盖图谱构建、语义嵌入同步、对齐模型部署、通信接口集成等多个核心模块,结合真实应用

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1293

C#WPF常用的9种布局方式详解

本文介绍WPF中常用的九种布局,Grid、StackPanel、WrapPanel、DockPanel、UniformGrid、Canvas、ScrollViewer、ViewBox、Border。

qq_30725967的博客 1万+

shell脚本(五)函数

base shell会把函数当作一个小型脚本,运行结束时会返回一个退出状态码,默认情况下函数的退出状态是函数中最后一条命令返回的退出状态码。在函数中使用$1跟脚本中的$1不一样,如果想在函数中使用执行脚本时传入的变量需要再传入到函数中。向函数传入数组,将数组变量传入数组只会传入数组第一个值,应该将数组分解成单个值,然后将这些值传入函数,在函数内部再将传入的参数重新组合成一个数组。在shell脚本中定义的函数,使用的时候相当于一个命令,可以通过变量接命令的输出,同样也可以接受函数的输出。

zhaoqingquanajax的博客 862

一文看懂 SAP Integration Suite:从架构治理、接口编排到事件驱动的集成全景

SAP Integration Suite是企业数字化转型中的关键集成平台,通过统一的方法论和工具链解决系统互联、数据对齐和流程协同等复杂问题。其核心能力包括:1)集成评估(Integration Assessment)提供战略规划框架;2)迁移评估(Migration Assessment)支持从传统平台向云的平滑过渡;3)云集成(Cloud Integration)实现日常业务流程编排;4)集成顾问(Integration Advisor)简化B2B标准映射;5)贸易伙伴管理(TPM)优化外部协作流程;

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 505

shell学习笔记(三):使用shell脚本打包软件程序

  在项目开发过程中,我们常常需要在脱离源码的情况下,去运行程序,进行相关测试。所以就需要对程序打包,并使用svn号进行管理这些打包的程序,便于后续去追溯版本。   对于小公司,可以简单的使用shell脚本,将程序和资源文件压缩到文件中,并带有svn版本的的命名,来进行维护。最近就写了一个简单的脚本来做这个工作,这里记录一些关键的地方,方便后续查阅。 查看svn版本号: svnversion -...

一无所有 1682

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

UbuntuQt编译程序打包工具:简化Qt应用打包流程,提升软件分发效率

UbuntuQt编译程序打包工具:简化Qt应用打包流程,提升软件分发效率 去发现同类优质开源项目:https://gitcode.com/ 在软件开发领域,Qt框架因其跨平台、高效性能以及丰富的界面元素而深受开发者喜爱。然而,将Qt应用程序打包成可执行文件,以便于分发和部署,一直以来都是开发者面临的挑战之一。UbuntuQt编译程序打包工具应运而生,它是一款专为Ubuntu环境下Qt编译程序设计的...

gitblog_06736的博客 1113

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

我司Spring Boot 项目打包 + Shell 脚本部署详细总结,太有用了!

往期热门文章:1、妙用Java 8中的 Function接口 消灭if...else... 2、1 平方厘米在元宇宙卖到 14 万?单价比北京学区房贵多了! 3、干掉visio,这个画图神...

Java后端技术 414

mvn 打包_springboot打包不同环境配置与shell脚本部署

作者:神牛003原文:https://www.cnblogs.com/wangrudong003/p/10502043.html本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作;profiles指定不同环境的配置maven-assembly-plugin打发布压缩包分享shenniu_publish....

weixin_39662834的博客 254

终极Shell脚本打包指南:如何制作单文件可执行程序

想要将复杂的Shell脚本打包成独立的可执行文件?**shfmt** 作为专业的Shell解析器和格式化工具,提供了完整的解决方案。这个基于Go语言的开源项目不仅能格式化代码,还能将多个脚本文件打包成单一可执行程序,实现真正的"一次编写,随处运行" 🚀 ## 为什么需要Shell脚本打包? 传统的Shell脚本分发面临诸多挑战: - **依赖问题**:需要目标系统安装特定版本的Shell解

gitblog_00898的博客 706

Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!

作者:神牛003来源:cnblogs.com/wangrudong003/p/10502043.html本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重...

java思维导图 150

Linux 环境下 Qt 可执行程序依赖库打包脚本

Linux 环境下 Qt 可执行程序依赖库打包脚本 使用 Qt Creator 完成程序编码之后,虽然会在 Debug 或 Release 文件下生成可执行程序,但是他们是依赖 Qt Creator 环境的,拷贝到别的机器上就会提示加载依赖库错误。 那么该如何解决呢? 一、利用 ldd 命令查看程序需要的依赖库 Linux 环境下可以使用 ldd 命令查看可执行程序所需要的依赖库文件; ldd test linux-vdso.so.1 (0x00007ffc29bc3000) libQtGui.

随手写下笔记和感悟 2908

main方法启动job的shell脚本_springboot打包不同环境配置与shell脚本部署

作者:神牛003原文:https://www.cnblogs.com/wangrudong003/p/10502043.html本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作;profiles指定不同环境的配置maven-assembly-plugin打发布压缩包分享shenniu_publish....

weixin_42168265的博客 140

将Shell脚本打包为macOS应用:从.sh到.app的完整指南

本文详细介绍了如何将Shell脚本文件(.sh)打包为macOS应用(.app)的完整流程,包括目录结构创建、脚本部署、Info.plist配置、图标生成等关键步骤。通过将常用脚本转换为macOS应用,用户可以像原生应用一样双击运行,提升工作效率并降低使用门槛。特别适合需要频繁使用脚本工具的开发者。

weixin_33701294的博客 236

关于linux shell 编程

以下文章仅仅代表此人个人观点,与我本人无关   说到linux 就离不开shell, 其实Windows ,os 都是离不开shell的, shell是计算人机对话的语言。 简单的说你计算机干什么, shell他吧,呵呵。 从最简单的 ./  运行一个程序,到复杂的条件编译, makefile , 项目的组织,等等,他都可以轻松的搞定。   功能不可以不说的很强很暴力。   简单的运

kingboy433的专栏 744

iOS自动化打包脚本

export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 pod repo update ~/.cocoapods/repos/JKDJSpec pod install # #!/bin/sh #导出包类型 plist EXPORT_TYPE="Adhoc" #打包类型 BUILD_TYPE="Adhoc" # 工程名 APP_NAME="HealthManager" # workspace名 W.

夜诺 879

[iOS]自动生成ipa脚本

项目迭代完工进入测试阶段: 测试A:帮我打个包,谢谢。 我:打包中...... 测试B:帮我打个包,谢谢。 我:打包中...... 测试C:帮我打个包,谢谢。 我:打包中...... ... ... ... 测试A:发现一个bug,改好给我打个包,谢谢。 我:(´⌒`。) 打包中......! 测试B:也帮我打一个,谢谢。 测试C:还有我! 我:((유∀유|||))打包

breeze的博客 908
上一篇: Typora+PicGo+Gitee+node.js实现图片上传功能
下一篇: 第一个QT项目笔记
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值