docker容器内安装项目运行环境(python依赖包+allure)

目录

  • 一、安装自动化项目依赖包
    • 1.导出项目依赖库
    • 2.上传到远程仓库
    • 3.进入jenkins容器内,检查是否安装git
    • 4.配置git用户信息
    • 5.生成秘钥
    • 6.把代码拉取下来
    • 7.安装python项目依赖
    • 8.运行项目
  • 二、安装allure
    • 1.jenkins容器内安装allure,进入/usr/local/
    • 2.下载allure
    • 3.解压
    • 4.创建软连接
    • 5.验证
  • 三、安装其他常用工具
    • 1.安装ping
    • 2.安装vim
  • 四、再次运行项目
    • 1.成功运行并生成报告

前提:
安装git
配置git

一、安装自动化项目依赖包

1.导出项目依赖库

环境:win10
在项目根目录下使用下面的命令

pip freeze > requirements.txt

在这里插入图片描述

2.上传到远程仓库

把requirements.txt文件复制到git提交的项目目录下
添加requirements.txt到暂存区

git add requirements.txt

提交到 本地仓库

git commit -m "提交项目依赖包更新"

推送到远程仓库

git push origin master

3.进入jenkins容器内,检查是否安装git

docker exec -it myjenkins bash

查看git版本,检查是否安装git(jenkins容器自带git)

git --version

在这里插入图片描述

4.配置git用户信息

配置用户名

git config --global user.name “git_linux”

查看配置后的用户名

git config user.name

配置邮箱

git config --global user.email “git_linux@qq.com”

查看配置后的邮箱

git config user.email

在这里插入图片描述

5.生成秘钥

创建SSH Key

ssh-keygen -t rsa -C "git_linux@qq.com"

在这里插入图片描述
查看公钥,并复制

cat /root/.ssh/id_rsa.pub

在这里插入图片描述
打开gitee,点击头像,点击设置,选择SSH公钥,输入标题,把上面复制的公钥内容粘贴过来,点击确定
在这里插入图片描述

6.把代码拉取下来

进入/usr/local目录

cd /usr/local

将gitee上的仓库克隆到本地,仓库地址为SHH地址

git clone 仓库地址

在这里插入图片描述
在这里插入图片描述

7.安装python项目依赖

进入项目目录,安装项目依赖

pip3 install -r requirements.txt

报错
在这里插入图片描述
解决方法:更新setuptools

pip3 install --upgrade setuptools

在这里插入图片描述
再次执行安装项目依赖,安装成功
在这里插入图片描述

8.运行项目

all.py文件为运行入口

python3 all.py

在这里插入图片描述
运行成功,但生成报告的时候少allure插件

二、安装allure

1.jenkins容器内安装allure,进入/usr/local/

cd /usr/local/

2.下载allure

wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.20.1/allure-commandline-2.20.1.tgz

3.解压

tar -xzvf allure-commandline-2.20.1.tgz

4.创建软连接

ln -s /usr/local/allure-2.20.1/bin/allure /usr/bin/allure

5.验证

allure --version

在这里插入图片描述

三、安装其他常用工具

1.安装ping

查看ping,显示没有该命令
在这里插入图片描述
更新apt-get

apt-get update

安装ping

apt-get install -y inetutils-ping

安装完成
在这里插入图片描述

2.安装vim

查看vim

vim

在这里插入图片描述
安装vim

apt-get install -y vim

安装成功
在这里插入图片描述

四、再次运行项目

1.成功运行并生成报告

在这里插入图片描述
到此jenkins容器内项目运行环境已经配置完成,下一步配置jenkins

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

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

相关文章

获取远程仓库的信息和远程分支的信息

前记: git svn sourcetree gitee github gitlab gitblit gitbucket gitolite gogs 版本控制 | 仓库管理 ---- 系列工程笔记. Platform:Windows 10 Git version:git version 2.32.0.windows.1 Function:获取远程仓库的信息和远…

vue axios封装并发请求

场景:有时候进入某些页面时会同时请求很多个业务接口, 如果一个一个的发送请求,会产生很多冗余,所以封装了一个方法(参考渡一教育袁老师课程)。 此方法会根据请求顺序,返回一个返回结果数组&am…

MyBatisPlus的学习项目页面

MyBatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息 类名驼峰转下划线作为表名 名为id的字段作为主键 变量名驼峰转下划线作为表的字段名 常见注解 TableName:用来指定表名 Tableld:用来指定表中的主键字段信息 Tabl…

修改http_charfinder.py使能在python311环境中运行

需要修改两个函数&#xff0c;第一个是init函数&#xff0c;修改如下&#xff1a; async def init(loop, address, port): # <1> # app web.Application(looploop) # <2> # app.router.add_route(GET, /, home) # <3> app web.Application(…

qt listwidget获取当前选中项

要获取Qt ListWidget中当前选中的项&#xff0c;你可以使用currentItem()函数。这个函数会返回一个QListWidgetItem对象&#xff0c;表示当前选中的项。以下是一个示例代码&#xff1a; QListWidgetItem *selectedItem listWidget->currentItem(); if (selectedItem) {// …

kong网关从入门到放弃

Kong网关是一个轻量级、快速、灵活的云名称API网关。Kong Gateway位于您的服务应用程序前面&#xff0c;可动态控制、分析和路由请求和响应。KongGateway通过使用灵活、低代码、基于插件的方法来实现您的API流量策略。 https://docs.konghq.com/gateway/latest/#features 架构…

微前端一:技术选型

微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。 微前端架构具备以下几个核心价值&#xff1a; 1、技术栈无关 主框架不限制接入应用的技术栈&#xff0c;微应用具备完全自主权 2、独立开发、独立部署 微应用仓库独立&#xff0…

面试题-React(十二):React中不可变数据的力量

一、不可变数据的概念 不可变数据意味着数据一旦创建&#xff0c;就不能被更改。在React中&#xff0c;每次对数据的修改都会返回一个新的数据副本&#xff0c;而不会改变原始数据。这种方式确保了数据的稳定性和一致性。 二、Props中的不可变数据 在React中&#xff0c;组件…

TikTok国际版 使用特网科技Bluestacks模拟器安装方法

特网科技Bluestacks模拟器主机 桌面自带Bluestacks模拟器 TikTok国际版Bluestacks模拟器搜索tiktot 登录google应用商店-安装TikTok 安装过程可能需要3-5分钟不等-配置过低可能会导致安装失败&#xff0c;建议升级更高内存。 安装完成-打开 安装成功APP-我的游戏查看 打开国际版…

【Docker 内核详解】namespace 资源隔离(二):UTS namespace IPC namespace

【Docker 内核详解 - namespace 资源隔离】系列包含&#xff1a; namespace 资源隔离&#xff08;一&#xff09;&#xff1a;进行 namespace API 操作的 4 种方式namespace 资源隔离&#xff08;二&#xff09;&#xff1a;UTS namespace & IPC namespacenamespace 资源隔…

风电厂VR情景式三维模拟实训系统让教育更加贴近实际

VR虚拟仿真实训室是一种利用虚拟现实技术和仿真技术&#xff0c;为教学和学生实训提供虚拟环境和实践机会的设施。它通过将学生置身于虚拟场景中&#xff0c;让他们可以身临其境地参与到实际场景中&#xff0c;从而提高实际操作能力和技能水平。 在教学方面&#xff0c;VR虚拟仿…

rust: function

///file: nestd.rs ///ide: RustRover 233.8264.22 /// /// /// /***自定义函数*/ pub fn function() {println!("called my::nested::function()"); }#[allow(dead_code)] fn private_function() {println!("called my::nested::private_function()"); }/…

一百八十九、ClickHouse——在海豚调度器中执行ClickHouse建库建表语句

一、目的 由于Hive处理好的结果数据要同步到ClickHouse中&#xff0c;因此需要在在海豚调度器中执行ClickHouse的ADS层的建库建表语句 二、执行步骤 &#xff08;一&#xff09;情形一&#xff1a;ClickHouse和海豚在同一服务器上 1、直接在海豚中创建执行SQL文件脚本的工作…

php实现无限级分类的树形结构

数据结构和方法如下&#xff1a; $items array(1 > array(id > 1, pid > 0, name > 江西省),2 > array(id > 2, pid > 0, name > 黑龙江省),3 > array(id > 3, pid > 1, name > 南昌市),4 > array(id > 4, pid > 2, name > …

iOS代码混淆-从入门到放弃

​ 目录 1. 什么是iOS代码混淆&#xff1f; 2. iOS自动代码混淆的方法是什么&#xff1f; 3. iOS代码混淆的作用是什么&#xff1f; 4. 怎么样才能做到更好的iOS代码混淆&#xff1f; 总结 参考资料 1. 什么是iOS代码混淆&#xff1f; 代码混淆是指将程序中的方法名、属…

ggplot2 -- geom_linerange 函数的简单使用

brief 需要三个参数确定一个直线&#xff0c;x轴位置&#xff0c;y轴起始位置&#xff0c;y轴结束位置。 有别于一些垂直辅助线&#xff0c;可以实现柱状图&#xff0c;瓷砖图等等。 example 实现柱状图 library(tidyverse)tibble(theta seq(from 0, to 1, by .1),prio…

Jmeter之Bean shell使用详解

一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精…

MySQL 约束,视图,索引及常见函数

​​​​​​ ​​​​​​​ 2-MySQL 约束,视图,索引及常见函 1 SQL约束 SQL 约束用于规定表中的数据规则。实际上就是表中数据的限制条件。是为了保证数据的完整性而实现的一套机制。 MySQL的约束种类如下&#xff1a; 非空约束&#xff1a;NOT NULL NOT NULL约束强制…

私有化部署AI智能客服,解放企业成本,提升服务效率

在信息时代&#xff0c;企业面临着服务效率提升和成本压力的双重挑战。作为一个领先品牌&#xff0c;WorkPlus致力于为企业提供私有化部署的AI智能客服解决方案。本文将深入探讨WorkPlus AI智能客服如何帮助企业解放成本、提升服务效率以及打造个性化的卓越客户体验。 AI智能客…

安全典型配置(三)使用ACL禁止特定用户上网案例

【微|信|公|众|号&#xff1a;厦门微思网络】 安全典型配置&#xff08;一&#xff09;使用ACL限制FTP访问权限案例_厦门微思网络的博客-CSDN博客本例中配置的本地用户登录密码方式为irreversible-cipher&#xff0c;表示对用户密码采用不可逆算法进行加密&#xff0c;非法用…