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等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在 ...
随机推荐
- 实验二:Open vSwitch虚拟交换机实践
基础要求提交 a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令.以及p0和p1连通性测试的执行结果截图: b) /home/用户名/学号/lab2/目录下开启Min ...
- ESP32 IDF V5.0 编译环境
方法:环境搭建工具一键安装: 下载链接:https://dl.espressif.com/dl/esp-idf/ 可以选择离线安装方式和在线安装方式,建议:采用离线安装的方式 下载离线安装包之后点击安 ...
- 快速掌握Linux三剑客命令使用
前言 Linux三剑客指的是grep.sed以及awk命令的使用,这三个命令功能异常强大,大到没朋友.grep命令主打"查找",sed命令主打"编辑",awk命 ...
- Spring--数据库资源管理遗留问题
遗留问题的解决 在我们要再试一试其他属性的时候,就出现了一些小问题:定义的情况下, 在.xml文件里面调用: 却发现输出是这样的: 这完全不对等啊! 之后发现是系统的值,优先级要高于我们自己配置的这个 ...
- 全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门计算时间复杂度应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...
- flutter widget---->FloatingActionButton
在Flutter中说起Button,floatingActionButton用的也非常的多.今天我们就来学习一下. Simple Example import 'package:flutter/mat ...
- vue环境安装与配置
https://www.jb51.net/article/251371.htmhttps://www.yht7.com/news/193355 一.下载和安装Vue: https://nodejs.o ...
- gulp中解决es5转es6的方法
1:安装配置文件: cnpm i gulp-babel@7 babel-core -D (@7是因为要使 "gulp-babel": "^7.0.1" 与&q ...
- 使用 screw(螺丝钉) 快速生成数据库文档
一.框架介绍 回想起那个去年的7月份,第一份实习,组长让我写一份金蝶云的SQL文档,当时一看2000多张表,当时就猛吸一根烟,然后去gitee看看有没有好的框架快速生成 SQL 文档 ,由此找到了 s ...
- [Java]【异常处理】在项目开发中的通用规范
这一问题,已苦恼多日,上述答案系近整整2日广泛阅读书籍.博客.网络问答后,归纳并苦思而成. 本博文仅罗列总的观点,各观点的具体解释,可私信Word笔记. 如需转载or复制时,请注明出处. 本博文同步发 ...