web自动化jenkins持续集成_centos版

http://t.csdn.cn/MnI4b

web自动化jenkins持续集成_centos版

    • 01 python环境
      • 1.1 完全卸载原有python3
      • 1.1 安装依赖
      • 1.2 下载python
        • 1. 下载tag包并解压(tgz包方式)
        • 2. make编译安装
        • 3. 添加软链接
        • 4. 环境验证
          • 5. 创建虚拟环境
    • 02 chrome和chromedriver
    • 03 jenkins安装和配置
      • 3.1 安装jdk
      • 3.2 安装并配置jenkins
        • 3.2.1 安装jenkins
        • 3.2.2 升级jenkins-war包方式(有的插件无法安装)
        • 3.2.3 安装jenkins插件
          • 1. 修改jenkins下载源,
          • 2. 下载中文插件
          • 3. 用户权限管理
          • 4. 凭证管理插件
    • 04 jenkins项目构建触发
      • 4.1 触发远程构建
      • 4.2 其他工程构建后触发
      • 4.3 定时构建(常用)
      • 4.4 轮询SCM
      • 4.5 Git hook自动触发构建(重点)
        • 4.5.1 安装Generic Webhook Trigger插件
        • 4.5.2 jenkins设置自动构建
        • 4.5.3 Gitlab配置webhook

01 python环境

1.1 完全卸载原有python3

#卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps

#删除所有残余文件
whereis python3 |xargs rm -frv

#查看现有安装的python,验证是否删除干净
whereis python3 

在这里插入图片描述

1.1 安装依赖

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc

web自动化jenkins持续集成_centos版_第1张图片

1.2 下载python

1. 下载tag包并解压(tgz包方式)

下载链接:https://www.python.org/downloads/release/python-373/

cd /usr/local
wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
tar -zxvf Python-3.8.6.tgz
mkdir -p /usr/local/python3
chmod 777 /usr/local/python3

web自动化jenkins持续集成_centos版_第2张图片
web自动化jenkins持续集成_centos版_第3张图片

2. make编译安装
cd Python-3.8.6
./configure --prefix=/usr/local/python3
make && make install

web自动化jenkins持续集成_centos版_第4张图片
在这里插入图片描述
web自动化jenkins持续集成_centos版_第5张图片

3. 添加软链接

添加python软链接

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3

web自动化jenkins持续集成_centos版_第6张图片

添加pip3软链接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

在这里插入图片描述

4. 环境验证
python3 -V
pip3 --help
pip3 -V

web自动化jenkins持续集成_centos版_第7张图片
在这里插入图片描述

5. 创建虚拟环境
  1. 升级setuptools
pip3 install --upgrade setuptools -i https://pypi.doubanio.com/simple/
  1. 安装virtualenv包
pip3 install  virtualenv -i https://pypi.doubanio.com/simple/
pip3 install virtualenvwrapper -i https://pypi.doubanio.com/simple/ # 命令优化工具包
# 如安装失败升级pip  pip install pip --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

web自动化jenkins持续集成_centos版_第8张图片
web自动化jenkins持续集成_centos版_第9张图片
web自动化jenkins持续集成_centos版_第10张图片
3. 创建virtualenv软链接

find / -name virtualenv
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
virtualenv

web自动化jenkins持续集成_centos版_第11张图片
4. 编辑virtualenvwrapper.sh文件

vim /usr/local/python3/bin/virtualenvwrapper.sh

web自动化jenkins持续集成_centos版_第12张图片
5. 配置环境变量

vi ~/.bashrc
export WORKON_HOME=~/.virtualenvs
source /usr/local/python3/bin/virtualenvwrapper.sh
source  ~/.bashrc

web自动化jenkins持续集成_centos版_第13张图片
6. 测试虚拟环境使用

mkvirtualenv 虚拟环境名称 # python2写法
kvirtualenv -p python3 虚拟环境名称  # python3写法
workon  # 查看当前虚拟环境
workon 虚拟环境名称 # 进入虚拟环境
deactivate # 退出当前虚拟环境

web自动化jenkins持续集成_centos版_第14张图片
在这里插入图片描述

  1. 本地代码调试
python3 -m pip install --upgrade pip
pip3 install -r requests.txt -i https://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple
pytest -v -s test_pytest[::类名[::函数名]]

web自动化jenkins持续集成_centos版_第15张图片
web自动化jenkins持续集成_centos版_第16张图片
web自动化jenkins持续集成_centos版_第17张图片
web自动化jenkins持续集成_centos版_第18张图片

02 chrome和chromedriver

03 jenkins安装和配置

3.1 安装jdk

yum install java-1.8.0-openjdk* -y
which java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java
# java路径:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/java

web自动化jenkins持续集成_centos版_第19张图片

3.2 安装并配置jenkins

3.2.1 安装jenkins

1)获取jenkins安装包
下载链接:https://www.jenkins.io/zh/download/
2) 把安装包上传到192.168.66.101服务器,进行安装

rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
  1. 修改Jenkins配置
  • vi /etc/syscofig/jenkins
  • 修改用户名、端口
JENKINS_USER="root"
JENKINS_PORT="8090"

4)把端口添加防火墙或关闭防火墙(二选1)

  • 添加端口到防火墙
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload
  • 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

5)添加jdk安装路径

vi /etc/init.d/jenkins 

添加如下内容

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/java

4)重新加载配置文件并启动Jenkins

systemctl daemon-reload  # 命令重新加载配置文件
systemctl start jenkins  # 命令启动Jenkins
systemctl status jenkins.service # 命令查看Jenkins服务的状态
  1. 浏览器访问
ifconfig
http://192.168.132.30:8090
  1. 获取并输入admin账户密码
cat /var/lib/jenkins/secrets/initialAdminPassword

7)跳过插件安装
因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经过会失败,所以我们暂时先跳过插件安

8)添加一个管理员账户,并进入Jenkins后台
web自动化jenkins持续集成_centos版_第20张图片
web自动化jenkins持续集成_centos版_第21张图片
web自动化jenkins持续集成_centos版_第22张图片
web自动化jenkins持续集成_centos版_第23张图片
web自动化jenkins持续集成_centos版_第24张图片
web自动化jenkins持续集成_centos版_第25张图片
web自动化jenkins持续集成_centos版_第26张图片web自动化jenkins持续集成_centos版_第27张图片
在这里插入图片描述
web自动化jenkins持续集成_centos版_第28张图片
web自动化jenkins持续集成_centos版_第29张图片
web自动化jenkins持续集成_centos版_第30张图片
web自动化jenkins持续集成_centos版_第31张图片
web自动化jenkins持续集成_centos版_第32张图片
web自动化jenkins持续集成_centos版_第33张图片

3.2.2 升级jenkins-war包方式(有的插件无法安装)
rpm -ql jenkins # 查看jenkins所有目录
cd /usr/share/java/
mkdir /var/lib/jenkins/temp
mv jenkins.war /var/lib/jenkins/temp/
wget http://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.349/jenkins.war # 根据提示下载相应版本war包
/etc/init.d/jenkins restart # 重启jenkins
# 报/usr/share/java/jenkins.war not installed,需要将war报移动到/usr/share/java/下
mv jenkins.war /usr/share/java 
/etc/init.d/jenkins restart
systemctl restart jenkins # 系统重启jenkins

web自动化jenkins持续集成_centos版_第34张图片
web自动化jenkins持续集成_centos版_第35张图片
web自动化jenkins持续集成_centos版_第36张图片
web自动化jenkins持续集成_centos版_第37张图片
web自动化jenkins持续集成_centos版_第38张图片
web自动化jenkins持续集成_centos版_第39张图片

3.2.3 安装jenkins插件
1. 修改jenkins下载源,

有的版本是https://updates.jenkins.io/download有的是https://updates.jenkins-ci.org/download,根据情况修改

vim hudson.model.UpdateCenter.xml
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

web自动化jenkins持续集成_centos版_第40张图片
在这里插入图片描述
web自动化jenkins持续集成_centos版_第41张图片
web自动化jenkins持续集成_centos版_第42张图片
web自动化jenkins持续集成_centos版_第43张图片
web自动化jenkins持续集成_centos版_第44张图片

2. 下载中文插件
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"
  • 重启Jenkins后,就看到Jenkins汉化了!(PS:但可能部分菜单汉化会失败)
    web自动化jenkins持续集成_centos版_第45张图片
3. 用户权限管理
  1. 插件下载
  • Role-based Authorization Strategy 插件来管理Jenkins用户权限
  • 授权策略切换为"Role-Based Strategy",保存
  1. 创建角色
  • 在系统管理页面进入 Manage and Assign Roles,点击"Manage Roles"
  • Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
    - Project roles(项目角色):针对某个或者某些项目的角色
  • Slave roles(奴隶角色):节点相关的权限
  • 添加三个用色
    • baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑
      定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is
      missing the Overall/Read permission
    • dev_role:该角色为项目角色。使用正则表达式绑定"dev.*",意思是只能操作itcast开头的项目。
    • test_role01:该角色也为项目角色。绑定"test.*",意思是只能操作itheima开头的项目

web自动化jenkins持续集成_centos版_第46张图片
web自动化jenkins持续集成_centos版_第47张图片
web自动化jenkins持续集成_centos版_第48张图片
web自动化jenkins持续集成_centos版_第49张图片
web自动化jenkins持续集成_centos版_第50张图片
web自动化jenkins持续集成_centos版_第51张图片
web自动化jenkins持续集成_centos版_第52张图片
web自动化jenkins持续集成_centos版_第53张图片
3. 给用户分配角色

  • 系统管理页面进入Manage and Assign Roles,点击Assign Roles
    绑定规则如下:
  • zhagnsan用户分别绑定baseRole和role1角色
  • lisi用户分别绑定baseRole和role2角色
    web自动化jenkins持续集成_centos版_第54张图片
    web自动化jenkins持续集成_centos版_第55张图片
    web自动化jenkins持续集成_centos版_第56张图片
    web自动化jenkins持续集成_centos版_第57张图片
    web自动化jenkins持续集成_centos版_第58张图片
    web自动化jenkins持续集成_centos版_第59张图片
    web自动化jenkins持续集成_centos版_第60张图片
    web自动化jenkins持续集成_centos版_第61张图片
4. 凭证管理插件

1. 安装Credentials Binding插件

  • 安装插件后,左边多了"凭证"菜单,在这里管理所有凭证
  • 可以添加的凭证有5种:
    • Username with password:用户名和密码
    • SSH Username with private key: 使用SSH用户和密钥
    • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径
      设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
    • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
    • Certificate:通过上传证书文件的方式
    • 常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH
      密钥)
      web自动化jenkins持续集成_centos版_第62张图片
      web自动化jenkins持续集成_centos版_第63张图片
      web自动化jenkins持续集成_centos版_第64张图片
      2. 安装git工具
  • centos安装git工具
    查看此篇:https://blog.csdn.net/feengg/article/details/82700498
  • 查看git版本:yum info git
  • 安装依赖
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
    yum install gcc perl-ExtUtils-MakeMaker
    
  • 卸载git旧版本:yum remove git
  • 在线下载源码包:wget https://github.com/git/git/archive/v2.9.2.tar.gz
  • 解压git工具包:tar -xzvf v2.9.2.tar.gz
  • 编译
    cd git-2.9.2
    make prefix=/usr/local/git all
    
  • 安装:make prefix=/usr/local/git install
  • 添加环境变量
    vim /etc/profile
    export PATH="/usr/local/git/bin:$PATH" 
    source /etc/profile
    
  • 安装后查看版本:git --version
    web自动化jenkins持续集成_centos版_第65张图片
    web自动化jenkins持续集成_centos版_第66张图片
    web自动化jenkins持续集成_centos版_第67张图片
    web自动化jenkins持续集成_centos版_第68张图片
    web自动化jenkins持续集成_centos版_第69张图片
    web自动化jenkins持续集成_centos版_第70张图片
    web自动化jenkins持续集成_centos版_第71张图片
    web自动化jenkins持续集成_centos版_第72张图片
    在这里插入图片描述

3. 安装git和github插件
web自动化jenkins持续集成_centos版_第73张图片
web自动化jenkins持续集成_centos版_第74张图片
4. 用户密码类型

  • 创建凭证:Jenkins->凭证->系统->全局凭证->添加凭证,选择"Username with password",输入Github的用户名和密码,点击"确定"。
  • 测试凭证是否可用
    • 创建一个FreeStyle项目:新建Item->FreeStyle Project->确定,找到"源码管理"->“Git”,在Repository URL复制Gitlab中的项目URL
    • 找到"源码管理"->“Git”,在Repository URL复制Gitlab中的项目URL
    • 保存配置后,点击构建”Build Now“ 开始构建项目
    • 查看/var/lib/jenkins/workspace/目录,发现已经从Github成功拉取了代码到Jenkins中
      web自动化jenkins持续集成_centos版_第75张图片
      在这里插入图片描述
      在这里插入图片描述

web自动化jenkins持续集成_centos版_第76张图片
web自动化jenkins持续集成_centos版_第77张图片
web自动化jenkins持续集成_centos版_第78张图片
web自动化jenkins持续集成_centos版_第79张图片

3. ssh密钥类型

  • git生成秘钥
  • 将秘钥添加到git个人账号
git config --global user.name 'JSonliuJ'
git config --global user.email "[email protected]"
kdir ~/.ssh
chmod 700 ~/.ssh
git --help
ssh-keygen -t rsa -C "邮件地址"

web自动化jenkins持续集成_centos版_第80张图片
web自动化jenkins持续集成_centos版_第81张图片
web自动化jenkins持续集成_centos版_第82张图片
在这里插入图片描述
web自动化jenkins持续集成_centos版_第83张图片
web自动化jenkins持续集成_centos版_第84张图片

  • 本地代码拉取及上传调试
git init
git init --bare git_project # 初始化一个空目录 
cd git_project
git clone 远程仓库地址
touch test02.sh
git add test02.sh
git commit -m '注释'
git push # 远程仓库
  • 删除远程仓库调试文件
git rm test02.sh
git commit -m "说明"
git push

web自动化jenkins持续集成_centos版_第85张图片
web自动化jenkins持续集成_centos版_第86张图片
web自动化jenkins持续集成_centos版_第87张图片
web自动化jenkins持续集成_centos版_第88张图片
web自动化jenkins持续集成_centos版_第89张图片

  • 在Jenkins添加一个新的凭证,类型为"SSH Username with private key",把刚才生成私有文件内容复制过来
    web自动化jenkins持续集成_centos版_第90张图片
    web自动化jenkins持续集成_centos版_第91张图片
    在这里插入图片描述
    web自动化jenkins持续集成_centos版_第92张图片
    在这里插入图片描述
  • 测试凭证是否可用
    web自动化jenkins持续集成_centos版_第93张图片
    web自动化jenkins持续集成_centos版_第94张图片
    web自动化jenkins持续集成_centos版_第95张图片
    web自动化jenkins持续集成_centos版_第96张图片
    web自动化jenkins持续集成_centos版_第97张图片
    web自动化jenkins持续集成_centos版_第98张图片

04 jenkins项目构建触发

Jenkins内置4种构建触发器

  • 触发远程构建
  • 其他工程构建后触发(Build after other projects are build)
  • 定时构建(Build periodically)
  • 轮询SCM(Poll SCM)

4.1 触发远程构建

构建url:http://127.0.0.1:8081/job/api_%E8%BF%9C%E7%A8%8B%E6%9E%84%E5%BB%BA%E8%A7%A6%E5%8F%91%E5%99%A8/build?token=6666
web自动化jenkins持续集成_centos版_第99张图片

4.2 其他工程构建后触发

web自动化jenkins持续集成_centos版_第100张图片
web自动化jenkins持续集成_centos版_第101张图片

4.3 定时构建(常用)

  • 定时字符串从左往右分别为: 分 时 日 月 周
  • 一些定时表达式的例子
    每30分钟构建一次:H代表形参 H/30 * * * * 
    每2个小时构建一次: H H/2 * * *
    每天的8点,12点,22点,一天构建3次: (多个时间点中间用逗号隔开) 0 8,12,22 * * *
    每天中午12点定时构建一次 H 12 * * *
    每天下午18点定时构建一次 H 18 * * *
    在每个小时的前半个小时内的每10分钟 H(0-29)/10 * * * *
    每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38) H H(9-16)/2 * * 1-5
    

web自动化jenkins持续集成_centos版_第102张图片

4.4 轮询SCM

  • 指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建
  • 注意:这次构建触发器,Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用。
    web自动化jenkins持续集成_centos版_第103张图片

4.5 Git hook自动触发构建(重点)

4.5.1 安装Generic Webhook Trigger插件

web自动化jenkins持续集成_centos版_第104张图片

4.5.2 jenkins设置自动构建

web自动化jenkins持续集成_centos版_第105张图片

4.5.3 Gitlab配置webhook

1. 开启webhook功能

  • 点击Admin Area -> Settings -> Network
    勾选"Allow requests to the local network from web hooks and services"

2. 在项目添加webhook

  • 点击项目->Settings->Integrations
  • Manage Jenkins->Configure System

你可能感兴趣的:(CICD,前端,自动化,jenkins)