2022-07-25:xiu是用rust语言编写的流媒体服务器软件项目。k8s安装xiu,drone文件如何写?
2022-07-25:xiu是用rust语言编写的流媒体服务器软件项目。k8s安装xiu,drone文件如何写?
答案2022-07-25:
云原生环境不可能完全一样,只能做参考。
我采用的是drone,重点是rust编译环境。
drone文件内容如下:
kind: pipeline
type: docker
name: dev
#取消git clone代码
clone:
disable: true
steps:
- name: clone
image: drone/git
pull: if-not-exists
volumes:
- name: cache
path: /etc/hosts
commands:
- git clone http://git.dsy.com/dsygroup/compile-xiu.git .
- git clone https://gitee.com/moonfdd/xiu.git
#- git checkout $DRONE_COMMIT
- name: build
image: rust:latest
pull: if-not-exists
environment:
RUSTUP_DIST_SERVER: https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT: https://mirrors.ustc.edu.cn/rust-static/rustup
volumes:
- name: cache
path: /etc/hosts
commands:
- sed -i "s/【DRONE_COMMIT:0:8】/${DRONE_COMMIT:0:8}/g" .helm/dev/values.yaml
- cp config /usr/local/cargo/config
- cd xiu/application/xiu
- echo $RUSTUP_DIST_SERVER
- echo $RUSTUP_UPDATE_ROOT
- echo $CARGO_HOME
- rustup target add x86_64-unknown-linux-musl
- cargo build --release --target=x86_64-unknown-linux-musl
- cd ../..
- ldd target/x86_64-unknown-linux-musl/release/xiu
- strip -s target/x86_64-unknown-linux-musl/release/xiu
- name: image
image: plugins/docker
pull: if-not-exists
volumes:
- name: cache
path: /etc/hosts
- name: d
path: /var/run/docker.sock
commands:
- docker version
- docker build -f ./MyDockerfile -t dockergit.dsy.com/dsygroup/compile-xiu:${DRONE_COMMIT:0:8} ./xiu
- docker push dockergit.dsy.com/dsygroup/compile-xiu:${DRONE_COMMIT:0:8}
- name: deploy
image: "pelotech/drone-helm3"
pull: if-not-exists
volumes:
- name: cache
path: /etc/hosts
- name: d
path: /var/run/docker.sock
settings:
mode: upgrade
chart: ./.helm/dev
vaules_yaml: ./.helm/dev/values.yaml
release: xiu
namespace: maoaoandemoname
kube_api_server: "https://git.dsy.com:6443"
kube_token:
from_secret: kube_token
skip_tls_verify: true
values:
- image.tag=${DRONE_COMMIT:0:8}
trigger:
branch:
- master
- aaa
volumes:
- name: cache
host:
path: /etc/hosts
- name: d
host:
path: /var/run/docker.sock
dockerfile文件内容如下:
FROM scratch
COPY application/xiu/src/config/config_rtmp.toml /conf/config_rtmp.toml
COPY target/x86_64-unknown-linux-musl/release/xiu /bin/xiu
config文件是设置cargo的国内镜像源,内容如下:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
helm的内容就不贴在这里了,具体见 码云地址
k8s里暴露的端口如下:

推送视频到k8s里,命令如下:
ffmpeg -i 俄罗斯.mp4 -rtsp_transport tcp -vcodec h264 -acodec aac -f flv rtmp://172.16.11.111:42308/live/test1
运行结果如下:



2022-07-25:xiu是用rust语言编写的流媒体服务器软件项目。k8s安装xiu,drone文件如何写?的更多相关文章
- 2022.07.25 TypeScript基础类型介绍
基础类型: 字符串(string)(String) let first: string = 'niu' // 直接赋值 let fourth: string = `niu` // 模板字符串 let ...
- C语言编写静态链接库及其使用
本篇讲述使用C语言编写静态链接库,而且使用C和C++的方式来调用等. 一.静态库程序:执行时不独立存在,链接到可执行文件或者动态库中,目标程序的归档. 1.用C编写静态库步骤 a.建立项目(Win32 ...
- Rust语言:安全地并发
http://www.csdn.net/article/2014-02-26/2818556-Rust http://www.zhihu.com/question/20032903 Rust是近两年M ...
- Rust语言之HelloWorld Web版
Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...
- Rust语言之HelloWorld
Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...
- Rust语言
Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust ...
- 【转】对 Rust 语言的分析
对 Rust 语言的分析 Rust 是一门最近比较热的语言,有很多人问过我对 Rust 的看法.由于我本人是一个语言专家,实现过几乎所有的语言特性,所以我不认为任何一种语言是新的.任何“新语言”对我来 ...
- 半个月使用rust语言的体验
从第一次下载rust语言的编译器到今天刚好第14天. 简单说一下对这个语言的感觉吧. 一.性能 把以前用java写的一个中文地址切分的算法,用rust重新实现了一下(https://github.co ...
- Atitit.rust语言特性 attilax 总结
Atitit.rust语言特性 attilax 总结 1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升.1 2. 不会 ...
- Rust语言——无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争
2006年,编程语言工程师Graydon Hoare利用业余时间启动了Rust语言项目.该项目充分借鉴了C/C++/Java/Python等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在 ...
随机推荐
- IBM MQ 配置SSL 连接
图示为思路: 下面介绍具体的步骤 参考文档: https://www.jianshu.com/p/2865965a42d9 http://www.hackdig.com/?01/hack-7976.h ...
- 什么是Markdown
什么是markdown? Markdown是一种轻量级标记语言,它允许人们使用已读一些的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档.这种语言吸收了很多在电子邮件中已有的纯文本标 ...
- 在CentOS上编译最新版linux内核(linux-5.19.9)
从官网下载最新版的Linux内核源码,本教程使用linux-5.19.9进行编译. 实验环境(CentOS-Stream-8) $ uname -a Linux localhost.localdoma ...
- 声网 VQA:将实时互动中未知的视频画质用户主观体验变可知
在实时互动场景中,视频画质是影响观众体验的关键指标,但如何实时评价视频的画质一直是个行业难题,需要将未知的视频画质用户主观体验变成可知. 未知的部分往往是最需要攻克的,声网也一直在持续探索符合实时互动 ...
- 一款基于js/jquery标签拖拽排序小组件
这是一个基于jQuery写的拖拽小组件,写了大概两三天,刚好可以在前端方面练练手.拖拽原理是使用绝对定位+鼠标元素位置实现. GitHub地址:https://water1996.github.io/ ...
- Moebius兼容AlwaysOn
背景 数据库是信息化的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为"IT的心脏".因此,让数据库安全.稳定.高效地运行已经成为IT管理者必须要面对的问题.数据库在底层架构 ...
- void关键字
在C++中,void表示为无类型,主要有三个用途: (1)函数的 返回值用void,表示函数没有返回值. void func(int a, int b) { //函数体代码 return; } (2) ...
- ByteHouse MaterializedMySQL 增强优化
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前言 社区版 ClickHouse 推出了MaterializedMySQL数据库引擎,用于将 MySQL 中的表 ...
- 鼎捷ERP二次开发教程 Tiptop GP开发资料大全 Tipto开发实战经验 鼎捷开发实战例子 Tiptop GP二次开发项目例子 4GL开发Demo 鼎捷二次开发完整例子 鼎捷ERP二次开发入门
本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 曾经参与鼎捷Tiptop GP实施十多个项目,具 ...
- 自定义SpringMVC实现
首先要知道springmvc主要流程: 当用户,也是就是请求送达过来的时候, 1.前端控制器会获取, 2.请求处理映射器,返回执行链接 3.获取执行适配器适配,交给执行器 4.返回modelandvi ...