Jenkins自动编译库并上传服务器

Jenkins自动编译库并上传服务器

github地址

首先添加 git 地址:


再添加定时构建,每天夜里构建一次:


执行 shell 脚本进行构建

cd networklayerecho "build json x86"
cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release  -G "CodeBlocks - Unix Makefiles" ./
cd cmake-build-release
makeecho "build json hisi500"
cd ..
cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc -DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-g++ -G "CodeBlocks - Unix Makefiles"
cd cmake-build-release-hisi3531
makeecho "make dir"
if [ ! -d "/var/www/html/libs/networklayer" ]; thenmkdir /var/www/html/libs/networklayer
fiif [ ! -d "/var/www/html/libs/networklayer/lib" ]; thenmkdir /var/www/html/libs/networklayer/lib
fiif [ ! -d "/var/www/html/libs/networklayer/lib/hisi500" ]; thenmkdir /var/www/html/libs/networklayer/lib/hisi500
fiif [ ! -d "/var/www/html/libs/networklayer/lib/x86" ]; thenmkdir /var/www/html/libs/networklayer/lib/x86
fiif [ ! -d "/var/www/html/libs/networklayer/include" ]; thenmkdir /var/www/html/libs/networklayer/include
fiecho "clean before"
rm -rf /var/www/html/libs/networklayer/include/*
rm -rf /var/www/html/libs/networklayer/lib/hisi500/*
rm -rf /var/www/html/libs/networklayer/lib/x86/*echo "copy"
cp -dprf ${WORKSPACE}/libs/hisi500/libNetWorkLayer.a  /var/www/html/libs/networklayer/lib/hisi500
cp -dprf ${WORKSPACE}/libs/x86/libNetWorkLayer.a  /var/www/html/libs/networklayer/lib/x86cp -dprf ${WORKSPACE}/libs/hisi500/libNetWorkLayer.so  /var/www/html/libs/networklayer/lib/hisi500
cp -dprf ${WORKSPACE}/libs/x86/libNetWorkLayer.so  /var/www/html/libs/networklayer/lib/x86cp -dprf ${WORKSPACE}/networklayer/src/net_work_layer.h /var/www/html/libs/networklayer/include/
cp -dprf ${WORKSPACE}/networklayer/src/net_work_common_data.h /var/www/html/libs/networklayer/include/ls -lh /var/www/html/libs/networklayer/lib/*
ls -lh /var/www/html/libs/networklayer/include/*#bak
#cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc -DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-g++ -G "CodeBlocks - Unix Makefiles"
#cd cmake-build-release-hisi3531
#make

这里成功添加到了服务器上


然后将本地库上传修改为统一从服务器获取:

cd mediaService
if [ ! -d "include" ]; thenmkdir include
fi
cd include
rm -fr *
wget http://192.168.1.132/libs/rtspclient/include/ -r -c -np -nH -E -R html --cut-dirs 3
wget http://192.168.1.132/libs/tulog/include/ -r -c -np -nH -E -R html --cut-dirs 3
wget http://192.168.1.132/libs/networklayer/include/ -r -c -np -nH -E -R html --cut-dirs 3if [ ! -d "trcode" ]; thenmkdir trcode
fi
cd trcode
wget http://192.168.1.132/libs/hi3531_video_transcode/include/ -r -c -np -nH -E -R html --cut-dirs 3
cd ../if [ ! -d "libevent" ]; thenmkdir libevent
fi
cd libevent
wget http://192.168.1.132/libs/libevent/include/ -r -c -np -nH -E -R html --cut-dirs 3
cd ../if [ ! -d "json" ]; thenmkdir json
fi
cd json
wget http://192.168.1.132/libs/json/include/ -r -c -np -nH -E -R html --cut-dirs 3
cd ../if [ ! -d "gtest" ]; thenmkdir gtest
fi
cd gtest
wget http://192.168.1.132/libs/gtest/include/ -r -c -np -nH -E -R html --cut-dirs 3
cd ../cd ../
if [ ! -d "libs" ]; thenmkdir libs
fi
cd libs
rm -fr *
if [ ! -d "hisi500" ]; thenmkdir hisi500
fi
cd hisi500
wget http://192.168.1.132/libs/hi3531_video_transcode/lib/ -r -c -np -nH -E -R html --cut-dirs 3
wget http://192.168.1.132/libs/json/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4
wget http://192.168.1.132/libs/networklayer/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4
wget http://192.168.1.132/libs/rtspclient/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4
wget http://192.168.1.132/libs/tulog/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4if [ ! -d "gtest" ]; thenmkdir gtest
fi
cd gtest
wget http://192.168.1.132/libs/gtest/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4
cd ../
if [ ! -d "libevent" ]; thenmkdir libevent
fi
cd libevent
wget http://192.168.1.132/libs/libevent/lib/hisi500/ -r -c -np -nH -E -R html --cut-dirs 4
cd ../
cd ../
cd ../ls -lh ${WORKSPACE}/mediaService/include/*
ls -lh ${WORKSPACE}/mediaService/libs/*cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc -DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-g++ -G "CodeBlocks - Unix Makefiles"
cd cmake-build-release-hisi3531
make

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决:The “data“ option should be a function that returns a per-instance value in component definitions

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 只是想定义一个变量,方便页面上调用 。 报错: The "data" option should be a function that re…

gdb 调试 TuMediaService

gdb 调试 TuMediaService github地址 起因 首先需要有 armgdb 环境运行 ./armgdb ./TuMediaService 进入 gdb 模式b hi3531_trcod_interface.cc:98 打断点r 运行程序print this->vdec_config_path_ 打印关键值 在这里我们关注的值已经被修改,由于程序中没有刻…

PyQt安装和环境配置

PyQt安装和环境配置 github地址 首先安装Pycharm 新建一个空的 python 工程,找到 setting 安装第三方模块 PyQT5 , 点加号,先安 PyQT5 , 再安装 pyqt5-tools ,后面包含 qtdesinger 以上模块都安完,设置扩展工具的参数找到 sett…

HZOJ 大佬(kat)

及其水水水的假期望(然而我已经被期望吓怕了……)。 数据范围及其沙雕导致丢掉5分…… 因为其实每天的期望是一样的,考虑分开。 f[i][j]表示做k道题,难度最大为j的概率。 则f[i][j](f[i-1][j])*(j-1)*temq[j]*tem;q为前缀和&#…

F12 界面:请求响应内容 Preview 和 Response 不一致、接口返回数据和 jsp 解析到的内容不一致

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 情况描述: 我有一个接口只是简单的查询列表数据并返回给前端作一个表格展示。 接口返回的 userId 数据为:…

为什么新手开车起步总是熄火

最近,深圳市民陈小姐年前考完驾照就买了一辆新车,在过完年后上班的第一天,几乎每次等红绿灯的路口起步时汽车都会熄火,导致身后的司机非常不满狂按车喇叭催她“别挡路”,陈小姐自己也急得冒汗。就像陈小姐这样的新手很…

MSCRM日志配置

之前有很多人问我在MSCRM上日志怎么做,具体的如(登录日志,操作日志)。个人认为操作日志确实比较难做(不过我可以给一个思路可以用触发器或者plugin来实现,不过比较麻烦,对系统压力也比较大&…

数据结构——数组

数组 github地址 数组基础 数组最大的有点:快速查询。索引快数组最好应用于 “索引有语义” 的情况但并非所有有语义的索引都适用于数组(身份证号)数组也可以处理 ”索引没有语义“ 的情况 封装数组类 数组类该具备的功能:增…

十分钟入门 RocketMQ

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的…

使用delegate类型设计自定义事件

在C#编程中,除了Method和Property,任何Class都可以有自己的事件(Event)。定义和使用自定义事件的步骤如下: (1)在Class之外定义一个delegate类型,用于确定事件程序的接口 &#xff0…

UTC Time

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样&#xff0…

解决:Unknown custom element: <myData> - did you register the component correctly? For recursive compon

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 引用一个组件报错&#xff1a; Unknown custom element: <myData> - did you register the component correctly?For recursi…

无处不在的container_of

无处不在的container_of linux 内核中定义了一个非常精炼的双向循环链表及它的相关操作。如下所示&#xff1a; struct list_head {struct list_head* next, * prev; };ubuntu 12.04 中这个结构定义在 /usr/src/linux-headers-3.2.0-24-generic/include/linux/types.h 中&…

程序员学习能力提升三要素

摘要&#xff1a;IT技术的发展日新月异&#xff0c;新技术层出不穷&#xff0c;具有良好的学习能力&#xff0c;能及时获取新知识、随时补充和丰富自己&#xff0c;已成为程序员职业发展的核心竞争力。本文中&#xff0c;作者结合多年的学习经验总结出了提高程序员学习能力的三…

AMD Mantle再添新作,引发下代GPU架构猜想

摘要&#xff1a;今年秋天即将发布的《希德梅尔文明&#xff1a;太空》将全面支持AMD Mantle API&#xff0c;如此强大的功能背后离不开强大的CPU、GPU支持。上周AMD爆出了下一代海盗岛R9 300系列&#xff0c;据网友猜测海盗岛家族可能用上速度更快的HBM堆栈式内存。 小伙伴们…

VUE : 双重 for 循环写法、table 解析任意 list 、万能表格组件、解析一维数组、动态生成 table 所有数据

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.需求&#xff1a; 我想要一个 table 组件能在实际调用时动态生成所有的 tr 、td 。 后端返回的只是一个 list &#xff0c; 前端页…

超详细 图解 : IntelliJ IDEA 逆向生成 JAVA 实体类

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.配置数据库,&#xff0c;这里连接的是mysql。 2.填写 连接数据库的信息&#xff0c;填写完成后可以点击Test Connection,测试一下是否…

leetcode练习——数组篇(1)(std::ios::sync_with_stdio(false);std::cin.tie(nullptr);)

题号1. 两数之和&#xff1a; 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;你不能重复利用这个数组中同样的元素。 示例: …

intellij idea 中去除 @Autowired 注入对象带来的红色下划线报错提示

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS&#xff1a; 有 2 种方法&#xff0c;第 2 种方法更简单&#xff0c;在此谢谢好心友人的评论。 方法1&#xff1a; idea中通过Autow…

Coolite动态加载CheckboxGroup,无法在后台中获取

Coolite在后台动态加载CheckboxGroup&#xff0c;页面显示都正常&#xff0c;但是在后台去获取选中的checkbox时&#xff0c;使用下方法&#xff1a; ///<summary>///获取所选权限 ///</summary>///<returns></returns>privatestringGetPermiss…