zoukankan      html  css  js  c++  java
  • 测试开发CICD——Jenkins——通过jenkins容器安装python环境

    前置准备

     
    # 获取最新的软件包
    apt-get update
    
    # 升级已安装的软件包
    apt-get upgrade
    
    # 提前安装,以便接下来的配置操作
    apt-get -y install gcc automake autoconf libtool make
    apt-get -y install make*
    apt-get -y install zlib*
    apt-get -y install openssl libssl-dev
    apt-get install sudo
     

    安装 Python 环境

    下载 python

    cd /usr/local/src
    wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
    tar -zxvf Python-3.6.8.tgz
    mv Python-3.6.8 py3.6
    cd py3.6

    make 编译安装

    在 /usr/local/src/py3.6 安装目录下执行下面的命令

    ./configure --prefix=/usr/local/src/py3.6
    make && make install

    添加软链接

    添加 python3 软链接

    ln -s /usr/local/src/py3.6/bin/python3.6 /usr/bin/python3

    添加pip3软链接

    ln -s /usr/local/src/py3.6/bin/pip3 /usr/bin/pip3

    本身有的话忽略就行

    验证 python3 环境

    敲 python3 和 pip3 有下图的结果就是正常了

    安装项目所需的库

    首先

    需要在 python 项目生成一个 requirement.txt,具体教程可以看

    https://www.cnblogs.com/poloyy/p/13953232.html

    然后

    • 将 requirement.txt 上传到主机
    • 从主机复制到容器内 docker cp requirement.txt jenkins1:/usr/local/src 

    最后安装项目所需的库

    pip3 install -r requirements.txt

    安装 Allure 环境

    官网下载 allure 包

    https://github.com/allure-framework/allure2/releases

    选个最新版本的去下就行,或者自己挑一个版本

    将压缩包传送到容器内

    1. 先将包上传到主机
    2. 然后从主机复制到容器内
    docker cp allure-commandline-2.13.6.zip jenkins1:/usr/local/src

    解压包

    unzip allure-commandline-2.13.6.zip

    赋予文件夹所有内容最高权限

    mv allure-2.13.6 allure
    chmod -R 777 allure

    配置 allure 和 py 环境变量

    cat >> /root/.bashrc << "EOF" 
    export PATH=/usr/local/src/allure/bin:$PATH 
    export PATH=/usr/local/src/py3.6/bin:$PATH 
    EOF

    记得一行一个回车哦,不然就直接复制粘贴

    更新环境变量配置文件

    source /root/.bashrc

    验证环境变量

    allure --version
    python3 --version

    配置 JDK 环境变量

    查看当前的系统已配置的环境变量

    export

    这里可以看到很多容器本身自带的环境变量

    • Jenkins 的版本
    • JDK 的安装路径

    配置 JDK 环境变量

    cat >> /root/.bashrc<< "EOF" 
    export PATH=$JAVA_HOME/bin:$PATH 
    EOF

    更新环境变量配置文件

    source /root/.bashrc

    ==========================================================

    进jenkins容器

    进docker容器, 加上-u root 以root用户权限进入容器

    docker exec -it -u root 容器id /bin/bash

    查看当前操作系统cat /etc/issue

    root@cb8e397d5308:/# uname -a
    Linux cb8e397d5308 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 GNU/Linux
    root@cb8e397d5308:/# cat /etc/issue
    Debian GNU/Linux 9 
     l
    

    这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum
    先执行更新apt-get

    apt-get update

    容器内部安装python3环境

    下载python3安装包

    进入容器内部, linux安装python3环境,参考这篇https://www.cnblogs.com/yoyoketang/p/10195102.html

    root@cb8e397d5308:/var/jenkins_home# cd /var/jenkins_home/
    root@cb8e397d5308:/var/jenkins_home# mkdir python3
    root@cb8e397d5308:/var/jenkins_home# cd python3/
    root@cb8e397d5308:/var/jenkins_home/python3# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
    root@cb8e397d5308:/var/jenkins_home/python3# tar -xvf Python-3.6.8.tgz
    root@cb8e397d5308:/var/jenkins_home/python3# ls
    Python-3.6.8  Python-3.6.8.tgz
    root@cb8e397d5308:/var/jenkins_home/python3# cd Python-3.6.8
    root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# ./configure --prefix=/var/jenkins_home/python3
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for python3.6... no
    checking for python3... no
    checking for python... python
    checking for --enable-universalsdk... no
    checking for --with-universal-archs... no
    checking MACHDEP... linux
    checking for --without-gcc... no
    checking for --with-icc... no
    checking for gcc... no
    checking for cc... no
    checking for cl.exe... no
    configure: error: in `/var/jenkins_home/python3/Python-3.6.8':
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details
    

    执行 ./configure --prefix=/var/jenkins_home/python3时报上面错:configure: error: no acceptable C compiler found in $PATH

    apt-get 安装依赖包

    这个是因为缺少gcc相关依赖包,使用apt-get代替yum安装相关依赖包

    apt-get -y install gcc automake autoconf libtool make
    apt-get -y install make*
    apt-get -y install zlib*
    apt-get -y install openssl libssl-dev
    apt-get install sudo
    

    make编译安装

    在/var/jenkins_home/python3/Python-3.6.8目录执行make和make install 安装

    ./configure --prefix=/var/jenkins_home/python3 --with-ssl
    make
    make install
    

    添加软链接

    添加python3软链接

    ln -s /var/jenkins_home/python3/bin/python3.6 /usr/bin/python3

    添加pip3软链接

    ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

    检查环境

    输入pip3 和python3检查环境

    root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# pip3
    
    root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# python3
    Python 3.6.8 (default, Jan  1 2020, 10:15:14) 
    [GCC 6.3.0 20170516] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()
    
    

    使用pip3安装一个requests包

    pip3 install requests

    ssl问题

    如果pip3安装的时候遇到报ssl相关问题:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

    这个是因为缺少ssl依赖包,网上的解决方案是yum install openssl-devel ,由于Debian系统没有yum,用apt-get安装

    apt-get -y install openssl libssl-dev

    安装完成之后只能解决系统自带的python2对应的pip安装问题,无法解决python3的pip3安装问题。

    解决办法:上面编译的时候需加上参数 --with-ssl

    ./configure --prefix=/var/jenkins_home/python3 --with-ssl

    重新执行make和make install 就可以了

    也可以在python环境检查是否能导入ssl

    root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# python3
    Python 3.6.8 (default, Jan  1 2020, 10:15:14) 
    [GCC 6.3.0 20170516] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>> 
  • 相关阅读:
    css实现自适应正方形
    遇到稍微复杂的场景发现css功力不足
    聊聊缓存
    git学习笔记
    font-size:0的作用
    移动端高清屏适配方案
    react生命周期
    javascript写定时器
    js判断字符串是否以某个字符串开头和js分解字符串
    json.parse()和json.stringify()
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15169481.html
Copyright © 2011-2022 走看看