From 79291e1d7e11f6fdc570007300ccb59d7a2b9196 Mon Sep 17 00:00:00 2001 From: h00277865 Date: Sat, 5 Jun 2021 14:56:20 +0800 Subject: [PATCH 1/2] add .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ea8c4bf7..c8e9e486 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/target +target +Cargo.lock +.vscode -- Gitee From 9c7779e8a62d20d35dbc7ef970a510016ac75c4e Mon Sep 17 00:00:00 2001 From: h00277865 Date: Sat, 5 Jun 2021 04:29:40 -0400 Subject: [PATCH 2/2] add test scripts --- Cargo.lock | 40 -------------------------------------- Dockerfile | 5 +++++ docker-run.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 40 deletions(-) delete mode 100644 Cargo.lock create mode 100644 Dockerfile create mode 100755 docker-run.sh diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index fbab3a40..00000000 --- a/Cargo.lock +++ /dev/null @@ -1,40 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "cc" -version = "1.0.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" - -[[package]] -name = "libc" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" - -[[package]] -name = "process1" -version = "0.1.0" -dependencies = [ - "signal-hook", -] - -[[package]] -name = "signal-hook" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aa894ef3fade0ee7243422f4fbbd6c2b48e6de767e621d37ef65f2310f53cea" -dependencies = [ - "cc", - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6" -dependencies = [ - "libc", -] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..06bf30ad --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ + +FROM scratch +#ADD target/x86_64-unknown-linux-musl/debug/process1 /sbin/init +COPY target/x86_64-unknown-linux-musl/debug/process1 /sbin/init +CMD ["/sbin/init"] diff --git a/docker-run.sh b/docker-run.sh new file mode 100755 index 00000000..1fd24a28 --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +#1.check cargo musl build +#echo -e "---!!!CHECK CARGO AND DOCKER!!!---" +rustup show | grep -i x86_64-unknown-linux-musl > /dev/null 2>&1 +if [ $? -ne 0 ]; then + cat << EOF +你的环境缺少rust构建工具, 你可以: + +1.安装rust环境... +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + +2.安装x86_64-unknown-linux-musl... +rustup target add x86_64-unknown-linux-musl + +3.安装musl-gcc... +dnf install musl-gcc -y +EOF +exit 1 +fi + +#!.check docker +docker -v > /dev/null 2>&1 +if [ $? -ne 0 ]; then + cat << EOF +你的环境缺少docker工具, 你可以: + +1.安装docker环境... +dnf install docker +或 +curl -sSL https://get.docker.com | sh + +2.开启docker服务 +systemctl start docker; systemctl enable docker + +3.如果不支持cgroupv2, 修改后重启系统 +sudo dnf install -y grubby && sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" + +EOF +exit 1 +fi + +#!.build +echo -e "---!!!CARGO BUILD!!!---" +cargo build --target x86_64-unknown-linux-musl || exit 1 + + +#!.docker build +echo -e "\n\n\n---!!!DOCKER BUILD!!!---" +docker build --no-cache --tag process1 `pwd` || exit 1 + +#!.docker run +echo -e "\n\n\n---!!!RUN PROCESS1 IN DOCKER!!!---" +docker run process1 || exit 1 -- Gitee