Git + jenkins 部署CI环境

Github配置:

settings => Developer settings => Personal access tokens  => 新增 tokens

 

 

配置钩子:

 

图片.png

Jenkins安装
Jenkins基于Java, 所以需要先安装java。
jdk官方下载: 地址

图片.png

 

图片.png


选择符合你自己系统版本JDK,下载安装,配置,不懂可以百度,很简单,相信都会.

 

Linux下安装java只要配置java环境变量即可。

  1. 首先,解压java到相应目录,我一般习惯把安装的软件放到目录/usr/local下。
    tar -zxvf jdk-8u131-linux-x64.tar.gz /usr/lib

  2. 编辑环境变量,在/etc/profile文件中添加环境变量,Linux的所有用户都可以使用。
    vim /etc/profile
    在文件最后添加内容如下(shift + g):
    export JAVA_HOME=/usr/lib/jdk1.8.0_131
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jart

安装Jenkins
CentOS 安装:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

ubuntu简单来说需要下面四步:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

查看是否有安装好的程序进程 ps -aux |grep java

启动关闭
sudo service jenkins start/stop/restart

启动报如下错误

Starting Jenkins bash: /usr/bin/java: No such file or directory

修改Jenkins启动配置文件,指定java安装路径。

vim /etc/init.d/jenkins

在candidates中第一行添加java路径,如下:

candidates="
/opt/soft/jdk1.8.0_60/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"

修改防火墙允许8080端口访问
firewall的修改方法:
添加
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload

iptables的修改方法:
vim /etc/sysconfig/iptables

加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙生效

sudo service iptables restart

第一种:更换源的问题
jenkins->系统管理->管理插件->高级

 

 

把:http://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json
镜像地址查询:
http://mirrors.jenkins-ci.org/status.html

在浏览器中访问
首次进入会要求输入初始密码如下图,
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

一、进入Jenkins
在浏览器输入网址:http://localhost:8080/jenkins/,进入Jenkins;

 

二、新建项目
首页左侧点击”新建“,输入项目名称和指定构建什么类型的项目;
其中,
构建一个自由风格的软件项目:Jenkins主要功能,结合任何SCM和任何构建系统构建项目,甚至可以构建软件以外的系统
构建一个maven项目:Jenkins利用指定POM.xml文件,大大减轻构建配置
构建一个多配置项目:如多环境测试、平台指定构建等
监控一个外部的任务:允许记录执行在外部Jenkins的任务,任务甚至运行在远程机器上
复制已存在的job:

 

这里,选择构建一个自由风格的软件项目;

三、项目配置
点击进入新建的项目,进行配置;

0 基本配置

 

丢弃旧的构建:可以只保留几天内的构建历史或只保留几个构建历史
参数化构建过程:可以配置参数,每次执行构建时需要给参数赋值
关闭构建:重新开启构建前不允许进行新的构建
在必要时并发构建:
Restrict where this project can be run:当配置slave节点后,通过该选择执行构建的节点,可以是master主机或slave节点

源码管理

 

构建触发器 构建环境 Bindings

 

 

 

构建

 

构建后操作

 

系统管理 配置

 

 

 

1 高级配置
安静期:一个任务计划中的构建在开始前需要读取开始前的配置信息;不选中则使用系统默认值
重复次数:若从版本库签除代码失败,则Jenkins会按指定次数重试后再放弃
该项目的上游项目正在构建时阻止该项目构建:当项目有依赖关系时,需要勾选
该项目的下游项目正在构建时阻止该项目构建:
使用自定义的工作空间:每个Jenkins任务都会有唯一一个工作空间目录,下载源代码,构建的整个过程都是在这个工作空间中
显示名称:仅供Jenkins Web页面显示

2 源码管理
Jenkins支持多种源码管理服务器;


这里选择Git,因为本文主旨就是搭建Jenkins+Github环境;
其中,
Repository URL是你的Github上代码更新会触发Jenkins的repo的ssh key;
Credentials是权限认证,需要添加,即输入访问该repo的用户名和密码;

 

源码库浏览器是该repo的URL,是可选的;

3 构建触发器
根据项目需要,选择触发Jenkins的方式;
其中,
Trigger builds remotely (触发远程构建,如使用远程脚本触发自动构建):可通过电子邮件触发项目构建,或通过脚本提交一个构建请求
Build after other projects are built (在其他项目构建完成后执行该构建):可设置多个依赖的jobs,当任意一个依赖的job成功构建后启动此构建,多个依赖的jobs之间用","隔开
Build periodically (定期构建):不管源码是否有更新,周期构建,在”日程表“中定义触发时间
Build when a change is pushed to Github (当源码更新推送到Github后执行该构建):
Poll SCM (定期检查源码是否更新):定时检查源码更新,有更新则执行构建,没有更新就不执行;在”日程表“中定义触发时间
其中,日程表用空格或Tab键分隔5个字段,分别代表"MINUTE(分钟,0~59)", "HOUR(小时,0~23)", "DOM(日,1~31)", "MONTH(月,1~12)", "DOW(星期,0~7)";

 

这里,选择Poll SCM,参数值为"H/2 * * * *",即设置每2分钟检查Github的指定repo有无源码更新;
(PS:对于Build when a change is pushed to Github,目前还没成功过);

4 构建环境
根据需要进行选择;
Delete workspace before build starts:构建执行前删除工作区
Abort the build if it's stuck:如果构建卡住,中止该构建
Add timestamps to the Console Output:在控制台添加时间戳
Use secret text(s) or file(s):使用密文

 

这里,选择添加时间戳;

5 构建
Execute Windows batch command:执行Windows命令行,默认当前路径是当前job的workspace
Execute shell:运行shell、Python、perl、ruby等脚本
Invoke Ant:调用Ant构建

Ant Version:指定使用的Ant版本,下拉列表中显示系统配置中配置的所有Ant版本,不要选择Defualt

Targets:指定需要执行的Target,不填写时默认执行build脚本中的Default target

Build File:指定需要执行的build脚本文件,可使用绝对路径或相对路径,默认相对路径根目录是当前任务的workspace

Properties:指定Ant变量

Java Options:若需要添加用户自定义的ANT_OPTS,在这里添加,如-Xmx512m

Invoke top-level Maven targets:调用Maven构建

Maven Version:指定所使用的Maven版本

Goals:执行的Maven命令行,不需要加mvn

POM:指定pom.xml文件

 


这里,构建执行一个python程序;

 

6 构建后操作
Aggregate downstream test result:整合Downstream测试
Archive the artifacts:将生成的文件存档,如.zip/.jar文件,以备以后下载用
Build other projects:最常用操作,在一个构建任务完成后,可触发另一个构建任务,如部署任务完成后可触发下游任务自动化测试;根据不同场景选择不同的触发方式
Publish JUnit test result report:将JUnit Test报告打印到展示平台
Publish Javadoc:打印Javadoc
Record fingerprints of files to track usage:Jenkins记录一个文件的指纹,用来追踪该jar包是什么时间打的
Deploy war/ear to a Container:将包部署到一个容器上,目前支持Tomcat、JBoss、Glassfish

WAR/EAR files:需要部署的war/ear包的文件,需要指定目录

Context path:

Container:选择容器,包括容器的对应版本

Manage user name:管理员的用户名

MAnager password:管理员的密码

Tomcat URL:Tomcat URL地址

Deploy on failure:配置任务失败时是否仍然部署

Email Notification:邮件通知
Editable Email Notification:

四、执行构建
1 手动执行
点击"立即构建(build now)";

 

执行结果:

 


2 自动执行
在Github指定repo上有源码更新,必须从本地push到远程主机;
更新到远程主机之后2分钟,Jenkins检测有更新,则自动触发构建执行;
执行结果:


链接:https://www.jianshu.com/p/ad102a30285c
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是从0到1使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架的步骤: 1. 安装 Docker 和 Docker Compose 首先,需要在服务器上安装 Docker 和 Docker Compose。Docker是一个虚拟化平台,可以通过容器化技术快速部署应用程序。Docker Compose是一个工具,可以定义和运行多个 Docker 容器的应用。 2. 创建 Git 仓库 创建一个 Git 仓库来管理应用程序的源代码。可以使用 GitLab、GitHub 或 Bitbucket 等 Git 托管服务。 3. 编写 Pytest 测试 编写 Pytest 测试来测试应用程序的功能。Pytest 是一个 Python 测试框架,可以用于测试 Python 应用程序的各个方面,包括单元测试、集成测试和端到端测试。 4. 安装 Jenkins 安装 Jenkins 作为持续集成和持续交付的工具。Jenkins 是一个开源 CI/CD 工具,可以自动化构建、测试和部署应用程序。 5. 配置 Jenkins 配置 Jenkins 以连接 Git 仓库和 Docker 守护进程。在 Jenkins 中,需要设置 Git 仓库的地址和凭据,以便 Jenkins 可以拉取代码并构建 Docker 镜像。 6. 构建 Docker 镜像 使用 Dockerfile 构建 Docker 镜像。Dockerfile 是一个包含构建 Docker 镜像所需指令的文本文件。 7. 运行 Pytest 测试 使用 Docker Compose 运行 Pytest 测试。Docker Compose 可以定义和运行多个 Docker 容器的应用。在这里,需要定义一个包含测试和应用程序容器的 Docker Compose 文件。 8. 生成 Allure 报告 使用 Allure 生成测试报告。Allure 是一个测试报告框架,可以生成漂亮且易于阅读的测试报告。 以上就是使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架的基本步骤。当然,具体实现还需要根据你的应用程序进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值