Linux服务器Ubuntu上搭建Jenkins+Pytest+Gitee+Allure自动化

2023-05-16

一.安装Jenkins和Java

Jenkins 是一个开源自动化服务器,它可以自动执行软件持续集成和交付中涉及的重复性技术任务。Jenkins 易于安装且基于 Java,此外,可以使用 Web 界面轻松配置。

在Ubuntu Server 22.04 LTS 64bit上安装Jenkins

安装依赖

首先通过在终端中运行以下命令,确保所有系统包都是最新的.

sudo apt update     # 刷新软件包目录
sudo apt upgrade    # 升级软件包
sudo apt install software-properties-common apt-transport-https wget ca-certificates gnupg2 ubuntu-keyring           # 安装依赖

安装 Java

sudo apt install default-jre     # 安装OpenJDK,该命令将安装Java运行时环境(JRE)。这将允许你运行几乎所有的Java软件。
sudo apt install default-jdk     # 安装JDK
sudo update-alternatives --config java     # 验证安装
java -version     # 验证安装

*也可以选择自己需要的版本去进行安装

javac     # 查看可安装的jdk版本
sudo apt install openjdk-11-jdk-headless  # 我这边选择11的版本进行安装

环境配置

sudo vim /etc/profile   # 打开终端窗口进行添加环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile    # 环境变量配置好后使其生效

jenkins配置

运行以下命令将 Jenkins 存储库添加到您的 Ubuntu 系统:

echo "deb https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list

导入 GPG 密钥:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

启用存储库后使用以下命令安装最新版本的 Jenkins:

sudo apt update      # 列出所有可更新的软件清单命令
sudo apt install jenkins     # 安装jenkins

启动并使用以下命令验证状态:

sudo systemctl enable jenkins     # 设置自启动, 启用 Jenkins(在系统启动时自动启动)
sudo systemctl start jenkins      # 启动Jenkins
sudo systemctl status jenkins     # 查看Jenkins状态

配置防火墙

在服务器管理后台配置防火墙8080

通过端口启用连接8080

sudo ufw allow 8080      # 打开端口8080
sudo ufw allow OpenSSH   # 允许SSH连接 启用
sudo ufw enable          # 启用防火墙
sudo ufw status          # 显示所有已启用的规则,包括允许和拒绝的端口以及来自特定 IP 地址的流量

访问Jenkins Web 界面

打开系统上的 Web 浏览器并在地址栏中输入服务器的 IP,您将获得默认的 Jenkins 页面:

http://your-server-ip-address:8080

使用以下命令查找Jenkins管理员密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

二.安装Git

Git 分布式版本控制系统对于现代软件开发至关重要。它可以创建文件和目录的备份版本,使我们可以跟踪更改并随时恢复到以前的阶段。

将软件项目的文件都保存在 GitHub、GitLab 和 Bitbucket 等 Git 存储库中,有助于促进软件开发项目的共享和协作。这篇指南讲解如何在 Ubuntu 20.04 上安装和配置 Git。

使用Apt安装Git

Git软件包包含在Ubuntu的默认存储库中,可以使用apt软件包管理器进行安装。

sudo apt update
sudo apt install git

查看安装版本

git --version

配置全局名称和邮箱

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

查看全局名称和邮箱

git config --list

生成ssh-keygen

cd ~/ && ssh-keygen -t rsa -C "你的邮箱"

第一个是生成路径,第二个是密码,第三个是确认密码,不设置密码一路回车即可。

查看

cd ~/.ssh
ls

将公钥文件(id_rsa.pub)内容复制到Gitee里的ssh密钥管理中就可以了。

三.安装Python

安装依赖

sudo apt update
sudo apt list --upgradable     #列出当前可用的更新
sudo apt upgrade     #上一步提示有可更新的项目则执行更新

安装 GCC 编译器

使用apt软件包管理器进行安装

sudo apt install gcc     #安装 GCC 编译器
gcc -v     # 检查安装是否成功,若显示出 GCC 版本则成功

安装其他依赖

sudo apt update     # 刷新软件包目录
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev     # 安装依赖

编译与安装

通过 wget下载安装Python

也可以在 Python 官网下载界面下载 Python 的源代码

sudo wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tar.xz
# 下载其他版本只需替换版本号数字我这里下载 Python 3.9.16

解压并进入该目录进行配置

tar -xf Python-3.9.16.tar.xz     # 解压
cd Python-3.9.16/     # 进入该目录

配置

sudo ./configure --enable-optimizations --with-lto --enable-shared      # 检查依赖与配置编译

配置项含义,更多配置项的信息可以请参阅 Python 官方文档。

--enable-optimizations:用 PROFILE_TASK 启用以配置文件主导的优化(PGO)
--with-lto:在编译过程中启用链接时间优化(LTO)
--enable-shared:启用共享 Python 库 libpython 的编译

编译

编译耗时较长,可以使用 -j 选项指定参与编译的 CPU 核心数,我的机器为 4 核 CPU:

sudo make -j 4     # 编译,-j 后面的数字为参与编译的CPU核心数,根据个人机器配置调整

安装二进制文件

sudo make altinstall

链接动态库

$ whereis libpython3.9.so.1.0     # 找到 libpython 的位置
libpython3.9.so.1: /usr/local/lib/libpython3.9.so.1.0
# 在 /usr/lib/ 下创建 libpython 的符号链接
$ sudo ln -s /usr/local/lib/libpython3.9.so.1.0 /usr/lib/

使用 Python 3.9

完成安装后,Python 3.9 会与系统原有的 Python 3.10 共存。由于 Ubuntu 系统、安装的其他软件等很可能会依赖于系统原有的 3.10,所以不要移除原有 Python 环境,也不要对 python3 等命令进行修改。

命令行使用

直接在命令行使用 python3.9 命令即可调用新安装的解释器:

$ python3.9     # 在命令行使用 Python 交互式解释器
$ which python3.9     # 查看该命令所在位置
/usr/local/bin/python3.9

使用 Python 3.9 的 pip 的命令为 pip3.9

$ pip3.9 -V     # 查看 pip3.9 版本

四.下载自动化项目依赖

更新pip3

wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26     # 下载
tar -zxvf setuptools-19.6.tar.gz     # 解压
# 编译、安装
 cd setuptools-19.6/
 # 更新pip3
 pip3 install --upgrade pip

下载依赖

将程序requirements.txt打包上传到服务器并执行命令安装依赖

pip3 install -r requirements.txt

遇到安装不了的依赖可以进行手动安装

pip3 install 依赖包名==依赖版本号

卸载不需要的依赖

pip3 uninstall 依赖包名

五.安装Allure

Allure是一款轻量级并且非常灵活的开源测试报告框架。

Allure下载安装

allure下载地址(选择合适的下载):

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

使用命令下载(会下载在当前路径):

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

解压

tar -zxvf allure-commandline-2.20.1.tgz 

配置软链

cd allure-2.20.1/bin  # 进入解压后的文件夹
 pwd # 获取绝对路径/home/ubuntu/allure-2.20.1/bin
 sudo ln -s /home/ubuntu/allure-2.20.1/bin/allure /usr/bin/allure  #配置软链

配置环境变量

vim /etc/profile
# 在PATH后追加以下内容,保存
:$PATH:/home/ubuntu/allure-2.20.1/bin     # 在bin目录下输入pwd查看/home/ubuntu/allure-2.20.1/bin
source /etc/profile     # 使环境变量生效

验证安装是否成功

allure --version

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux服务器Ubuntu上搭建Jenkins+Pytest+Gitee+Allure自动化 的相关文章

  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • 詹金斯上的登录类型选择有什么区别?

    我之前已经在一些机器上通过 war 文件和作为 Windows 服务安装的网页安装了 jenkins 现在我尝试通过 msi 文件将其安装在另一台计算机上 但我遇到了一个问题 在安装步骤中 有一个步骤询问我 登录类型 这给了我 2 个选择
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • Python 3.10 中有 setUpClass 的异步等效项吗?

    我一直在使用unittest IsolatedAsyncioTestCase测试我的异步方法 我一直在利用setUpClass asyncSetUp创建夹具和asyncTearDown进行清理 到目前为止一切进展顺利 但现在我有一个新的要求
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • nginx + WordPress:SFTP + 自动更新的适当用户/文件权限?

    I used this http wordimpress com aws ec2 rds s3 cloudfront nginx wordpress tutorial roundup 在 Ubuntu VPS 上安装 nginx 和 Wor
  • 使用 libusb 输出不正确

    我用libusb编写了一个程序 我怀疑输出是否正确 因为所有条目都显示相同的供应商和产品 ID 以下是代码 include
  • 如何从詹金斯管道获取所有参数(参数化构建)?

    我正在较新版本的 jenkins 中构建一个参数化管道作业 在较旧版本的 jenkins 中 我使用 getbinding getVariables 来检索所有参数 但较新的版本它返回空值 如何在新版本的詹金斯中检索参数 全部 您可以使用
  • 查看graphml文件

    我最近发现了一个 graphml 文件 但不知道如何从命令行打开它 我需要安装一些东西才能在 ubuntu 中从命令行查看此类文件吗 我尝试谷歌但找不到与此主题相关的任何结果 Graphml 是标准文件格式图表 yED 编辑器 http w
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • Gitlab 合并请求事件不触发 Jenkins 多分支管道

    我正在尝试在合并请求事件上使用 GitLab Webhook 触发 Jenkins 多分支管道作业 当我测试 Webhook 时 我收到以下消息 Hook 执行成功但返回 HTTP 409 当我设置不同的 GitLab Webhook 例如
  • 在汇编中使用 printf 会导致管道传输时输出为空,但可以在终端上使用

    无输出 https stackoverflow com questions 54507957 printf call from assembly do not print to stdout即使在终端上 当输出不包含换行符时也有相同的原因
  • 如何在线程创建和退出时调用函数?

    include
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud

随机推荐