gitlab+jenkins+pycharm持续集成环境搭建

发布时间 2023-07-06 13:27:43作者: 追逐蹉跎的岁月

接口自动化虚拟机登录:root    sq

若gitlab的容器打不开,关闭防火墙

gitlab登录:

http://192.168.31.128:9001/projects/new#blank_project

root i3213941

 

Git:分布式版本控制系统

本地仓库:是在开发人员自己电脑上的git仓库

远程仓库:是在远程服务器上的git仓库

Clone:克隆,就是将远程仓库负责到本地

Pull:拉取,就是将远程仓库代码下载到本地仓库

git fetch:从远程仓库获取对应版本的代码到本地仓库,不会自动合并

git fetch + git merge

git pull:从远程仓库获取对应版本的代码到本都仓库,拉取最新的

Push:推送,就是将本地仓库代码上传到远程仓库

Commit:提交

 

Git工作流:

1、从远程仓库中克隆代码到本地参考

(1)     Clone

2、从本地仓库中checkout代码然后进行代码修改

3、在提交前将代码提交到暂存区

4、提交到本地仓库,本地仓库中保存修改的各个历史版本

5、修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

 

 

 

Git环境组成部分

1、常用的git代码托管服务---远程仓库

Github(国外服务器,不稳定)

Gitlab(自己搭建本地服务器,考虑代码私有性的更好选择)

码云gitee(国内gitHub,开源项目,热衷于分享)

2、本机git操作环境

 

 

本机git操作环境--git下载与安装

下载地址:https://git-scm.com/download

 

下载完成后如下安装:https://www.cnblogs.com/itweb666/articles/15670680.html

安装好后右击会出现:

 

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

 

 

GitLab新建工程

 

 

 

 

创建本地仓库

1、本地新建文件夹

2、进入文件夹---右击选择Git Bash Here

 

3、在窗口设置全局变量

(1) git config --global user.name "root"

(2)     git config --global user.email "admin@example.com"

(3)     git config --list          查看配置

 

4、初始化:git init        (多出.git文件夹,打开隐藏)

5、从远程仓库克隆代码到本地仓库:git clone http://192.168.31.128:9001/root/gitlabtest.git         (记得加端口号)

6、将本地新建的文件添加到暂存区:git add 文件名称

7、将暂存区的文件提交到本地仓库:git commit -m “说明” 文件名称

8、将文件推送到远程仓库:git push -u origin master

 

 

 

 

 

 

Python搭建git环境

1、pycharm配置git路径,file---setting---version control---git,在path to Git executable中选择Git的安装路径即可

 

 

2、创建仓库,vcs---Get from version Control,选择Repository URL,Version control选择git,URL中复制gitlab的HTTP路径,路径中要加端口号,完成后本地电脑会自动生成一个相应的本地仓库文件夹

 

3、提交代码,选择左侧的commit,在Commit to master中勾选需要提交的代码,在下端填写提交说明,点击commit and push推送

 

4、在弹窗点击commit and push

 

5、点击push

 

6、Gitlab上显示已提交的代码

 

 

 

 

 

 

Jenkins与gitlab双向认证:

1、jenkins需要认证gitlab的权限,为了拉取最新代码

2、Gitlab需要认证jenkins权限,为了触发自动化构建操作

 

在jenkins中认证gitlab

1、jenkins---项目---配置---源码管理选择Git,

Repository URL中填gitlab的http(注意需要加端口号),

Credentials添加jenkins认证,类型选择Username with password,并填入gitlab的用户名和密码

指定分支选择响应的分支

 

 

2、构建触发器:选择Build when a change is pushed to GitLab.......(若没有,添加三个插件:GitLab,Generic Webhook Trigger,Gitlab Hook),并在‘高级’里的Secret token点击Generate生成token值

 

3、构建:选择执行shell,并填入执行命令:

 

 

 

 

在gitlab中认证jenkins

 

1、在gitlab中左上角的Menu---Admin(扳手图标)---setting---Network---Outbound,勾选里面的两个Allow选项,保存

 

2、Gitlab中选择相应的工程,选择左侧的setting---WebHooks,

填写URL:jenkins的工程(构建触发器内描述的URL)

填写Secret token:token值,(构建触发器内生成的Secret token)

勾选Push event,(推送代码时触发hook)

保存后可在底部进行测试效果

 

 

Jenkins中配置allure

1、在jenkins插件管理内添加allure插件(allure jenkins plugin,待验证)

2、进入项目--配置---构建后操作---allure report--path---填写allure-results

 

3、在配置--构建--执行shell的脚本中加入:

pytest -s --alluredir=${WORKSPACE}/allure-result

 

 

Jenkins邮件环境

1、jenkins--系统管理---系统配置---jekins Location---系统管理员邮件地址,填写发件邮箱

 

2、往下---Extended E-mail Notification,填写SMTP server,STMP Port,Credentials,Default user e-mail suffix,default content type选择HTML

 

3、再往下---邮件通知,填写SMTP服务器,用户默认邮件后缀,在高级内勾选‘使用STMP认证’,填入邮箱的用户名和密码,STMP端口,

 

4、配置收件箱,工程---配置---构建后操作---Editable Email Notification,填写project recipient List(收件箱,可以很多个),content Type选择HTML,Default Content填写相关邮件内容,保存

 

5、