广告
返回顶部
首页 > 资讯 > 后端开发 > Python >GitLab+Jenkins持续集成
  • 918
分享到

GitLab+Jenkins持续集成

GitLabJenkins 2023-01-31 08:01:10 918人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

gitLab是一个代码仓库,用来管理代码。jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发

gitLab是一个代码仓库,用来管理代码。jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发团队更高效的集成和发布代码。

1.png

 

下面是我最近安装GitLab+Jenkins环境的一个过程,记录下来,以备日后参考。

另外,这篇文章虽然很长,讲得很琐碎,但是仍有未能描述清楚的地方,如果按照这篇文章未能搭建成功,请耐心分析,也可从官方文档 找找灵感,继续下去总会成功的。

 

环境

操作系统ip地址角色访问地址
ubuntu-16.04.4-server-amd64192.168.10.122JenkinsHttp://192.168.10.122:8080/
ubuntu-16.04.4-server-amd64192.168.10.134GitLabhttp://192.168.10.134/

 

 

 

 


Jenkins 安装教程,请参考链接:

https://www.cnblogs.com/xiao987334176/p/11323795.html

GitLab 安装教程,请参考链接:

https://www.cnblogs.com/xiao987334176/p/11329018.html

 

点击 Create a project

1.png

 

创建 test 项目

1.png

 

添加 README 文件

1.png

 

输入内容,点击确定

 1.png

 

效果如下:

1.png

 

创建jenkins用户

点击扳手按钮

1.png

 

点击 User

1.png

 

添加 jenkins 用户,点击最下面的Create user按钮。

1.png

 

 点击编辑

1.png

 

修改密码,这里我定义的是 jenkins@1234

1.png

 

设置jenkins 用户ssh秘钥

 点击 Impersonate ,表示冒充jenkins 用户

1.png

 

点击设置

1.png

 

点击 ssh keys

1.png

 

登录到jenkins服务器,生成秘钥

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

 

查看公钥

cat /root/.ssh/id_rsa.pub

 

将公钥内容复制到网页,点击添加秘钥

1.png

 

创建Access Tokens

点击左侧的Access Tokens,输入用户 jenkins,勾选权限,点击创建

1.png

复制token,待会 jenkins 设置时,会用到。Zzis8ALsiYuytsg2GH-5

1.png

 

 

点击退出

1.png

 

重新登录root用户,点击test

1.png

 

点击设置-成员

 1.png

 

添加jenkins 用户,这样就可以访问项目了

1.png

 

 

由于 jenkins安装时,勾选了推荐安装的插件,因此包含了git插件。

现在只需要安装gitlab插件即可

 

点击 Manage Jenkins --> Manage Plugins -->可选插件,搜索gitlab

勾选gitlab,点击直接安装

1.png

 

等待十几分钟

1.png

 

提示安装完成

1.png

点击 Manage Jenkins --> Configure System -->配置 -->Gitlab

 1.png

 

Connection Name ”随便填,“Git Host URL”填GitLab的访问地址,然后点“Add”——“jenkins”,如下所示:

1.png

 

选择gitlalb api,输入 jenkins 用户创建的token Zzis8ALsiYuytsg2GH-5

1.png

 

选择 gitlab api token,点击测试连接,出现 Success,表示成功。

1.png

 

 点击最下面的保存

1.png

 

配置Git插件

点击 Manage Jenkins --> Configure System -->配置 -->Git plugin

 1.png

设置Git插件的全局配置,然后点击最下面的保存。

1.png

 

在jenkins里,一个任务叫做一个job。一般我们的项目会有多个分支,比如开发分支和产品分支,我们可以对每一个分支都新建一个job,比如,我们对开发分支创建一个测试的job,每次有代码提交就自动运行一次测试,对产品分支创建一个打包的job,每次有代码提交就运行打包任务。

不过在这里,我们只是单纯的创建一个job,来演示jenkins自动运行任务的过程。

 

首先,点击 新建Item,item name”可以随便起,然后点击“构建一个自由风格的软件项目”,点击Ok
1.png

至此,创建一个Job成功了

 

由于 jenkins 服务器的ssh秘钥,已经添加到gitlab上面了。那么就可以进行下一步了!

 

配置Job的源码管理

选择“源码管理”,选择“Git”,然后去GitLab中复制项目地址,粘贴到“Repository URL”,然后点击“credentials”后面的“Add”按钮

1.png

 

类型,选择 SSH Username with private key

Username 填 root

PrivateKey 选择Enter directly,点击add

1.png

 

登录到jenkins 服务器,查看私钥

cat /root/.ssh/id_rsa

 

将内容复制到网页上面,点击添加

1.png

 

在“credentials”里选择我们刚刚创建的认证方式:root

 1.png

如果没报错,说明成功了,点击页面底部的“apply”。如果出错了,会在“Repository URL”和“Credentials”之间显示红色的错误信息。

jenkins job默认对master分支进行构建,你也可以自定义分支。这要求你的Gitlab代码仓库中要存在这个分支,一般来说,就是要向代码仓库提交一次更改,请 自行完成(Gitlab项目刚创建时是空的,一个分支也没有,这样的话,自动构建时会出错)

 

1.png

 

配置Job的构建触发器

选择“构建触发器”,勾选“Pull SCM”,这个选项会每隔一段时间检查一下GitLab仓库中代码是否有更新,有的话就执行构建操作。日程表如何设置,在这个输入框下面有说明。

1.png

 

扩展阅读:

常见构建触发器、:

  • Build after other projects are built 当另一个构建任务完成之后触发

  • Build periodically 周期性的触发

  • Build when a change is pushed to GitLab. GitLab CI Service URL: http://191.8.2.112:12000/project/test-Go-dev 当代码有更新的时候触发,通过GitLab CI

  • GitHub hook trigger for GITScm polling 通过Github钩子触发

  • Poll SCM 定期检查代码有无更新,有更新时触发

这只是个人理解,具体怎么样大家可以试试,Poll SCM方式我是试过的。

配置Job的构建脚本

在build栏目里,选择“jenkins execute shell”,然后输入你项目的构建命令(这依赖于你的项目,如Maven的maven build,gulp的gulp xxx 等等)

1.png

 

这里我输入一段测试命令,表示将git项目的代码复制到/tmp/test

\cp -r $WORKSPACE /tmp/test

 

1.png

点击 可用的环境变量列表,就可以看到很多变量

1.png

 

其中 WORKSPACE 表示,下载git项目后的路径。

由于git项目为test,因此路径为:/var/lib/jenkins/workspace/test

点击保存

 

点击 Build Now,点击下面的构建过程

1.png

 

点击控制台输出,就可以看到完整的cp命令

1.png

 

登录到jenkins服务器,查看/tmp/test目录,是否有文件存在。

root@ubuntu:~# ll /tmp/test/
总用量 16
drwxr-xr-x  3 jenkins jenkins 4096 8月  28 18:27 ./
drwxrwxrwt 14 root    root    4096 8月  28 18:29 ../
drwxr-xr-x  8 jenkins jenkins 4096 8月  28 18:27 .git/
-rw-r--r--  1 jenkins jenkins   16 8月  28 18:27 README.md

 

 

本文参考链接:

https://blog.csdn.net/ruangong1203/article/details/73065410

https://blog.csdn.net/zangxueyuan88/article/details/81195666


--结束END--

本文标题: GitLab+Jenkins持续集成

本文链接: https://www.lsjlt.com/news/193662.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • GitLab+Jenkins持续集成
    GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发...
    99+
    2023-01-31
    GitLab Jenkins
  • jenkins pipeline持续集成
    简介 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息以steps的方式放在一个脚本里,...
    99+
    2023-01-31
    jenkins pipeline
  • jenkins+python持续集成
    搜索jenkins,进入官网,5分钟以内相信你能找到适合你操作系统的安装步骤。此处为省事,列出centos步骤(注意安装稳定版)sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.je...
    99+
    2023-01-31
    jenkins python
  • gitlab 持续集成CI/CD
    一、持续集成(Continuous Integration)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试...
    99+
    2023-01-30
    gitlab CI CD
  • Jenkins+maven持续集成的实现
    环境 系统:centos 7 tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57 jdk位置:/usr/local/jbreport/...
    99+
    2022-11-12
  • Jenkins+Docker持续集成的实现
    目录一、Jenkins介绍二、安装部署Jenkins1.环境信息2.新建Jenkins用户3.Jenkins安装方式4.Jenkins授权和访问控制5.Jenkins系统配置三、Je...
    99+
    2022-11-12
  • 使用GitLab+Jenkins实现持续集成CI环境的示例代码
    目录一、持续集成简介1.GitLab 简介2.Jenkins 简介3.GitLab 和 GitHub 的区别4.持续集成系统的工作流程二、使用 GitLab + Jenkins 实现...
    99+
    2022-11-12
  • jenkins持续集成的原理是什么
    Jenkins持续集成的原理是基于以下几个关键步骤: 代码检出:Jenkins会从版本控制系统(如Git)中检出最新的代码。 ...
    99+
    2023-10-25
    jenkins
  • Jenkins+maven持续集成的实现方法
    这篇文章给大家分享的是有关Jenkins+maven持续集成的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境系统:centos 7tomcat位置:/usr/local/jbreport/apache...
    99+
    2023-06-14
  • Pyhton自动化测试持续集成和Jenkins
    持续集成 官方术语: 持续集成(Continuous Integration),也就是我们经常说的 CI持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等...
    99+
    2022-11-11
  • 构建及部署jenkins pipeline实现持续集成持续交付脚本
    目录前言新增的步骤脚本需要注意的点:关于执行启动应用脚本关于健康检查线程休眠健康检查方式遇到的问题及小技巧小技巧:问题:具体的安全策略异常如下:解决方案:文末结语 前言 之前的文章中...
    99+
    2022-11-13
  • GitLab的持续集成功能及使用方法
    GitLab的持续集成功能及使用方法概述:在软件开发的过程中,持续集成(Continuous Integration, CI)是一个至关重要的环节。它可以将开发人员的代码更加频繁地集成到主线上,并通过自动化构建、测试和部署的过程来减少潜在错...
    99+
    2023-10-22
    gitlab 使用方法 持续集成
  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程
    目录环境搭建概述1.K8S是什么?2.为什么要用K8S?3.使用K8S有哪些好处?4.环境构成安装Docker环境安装docker-compose1.下载docker-com...
    99+
    2022-11-12
  • 如何进行基于jenkins+kubernets+docker的持续化集成
    这篇文章将为大家详细讲解有关如何进行基于jenkins+kubernets+docker的持续化集成,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。项目实现效果,开发人员在gitlab上传代码...
    99+
    2023-06-19
  • 使用Jenkins搭建iOS/Android持续集成打包平台
      背景描述   根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包。而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个...
    99+
    2022-06-06
    jenkins IOS Android
  • jenkins+docker+nginx+nodejs持续集成部署vue前端项目
    目录前提:思路:步骤:配置nodejs工具git代码文件目录如下Dockerfile的文件内容nginx.conf主配置文件的内容最近比较闲,尝试了一下docker部署业务测试环境的...
    99+
    2022-11-13
  • jenkins插件pipeline集成持续交付管道全面介绍
    目录前言Jenkins pipeline是什么?为什么使用pipeline?enkinsfile支持脚本式Scripted Pipeline和声明式Declarative Pipel...
    99+
    2022-11-13
  • 怎么署基于Windows系统的Jenkins持续集成环境
    这篇文章主要讲解了“怎么署基于Windows系统的Jenkins持续集成环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么署基于Windows系统的Jenkins持续集成环境”吧!首先,...
    99+
    2023-06-19
  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法
    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境。 1. 准备工作 1.1 安装 java 环境 Jenkins 是基...
    99+
    2022-06-04
    CentOS7搭建Jenkins持续集成环境 Jenkins Maven Git集成环境 Jenkins持续集成环境
  • Jenkins+Python自动化测试持续集成详细教程(全网独家)
    目录 一、前言 二、环境准备 三、创建Jenkins Job 四、编写Python自动化测试脚本 五、测试报告生成与展示 六、持续集成流程优化 七、实战演练 八、常见问题及解决方案 九、结论 一、前言 Jenkins是目前最为流行的CI...
    99+
    2023-09-08
    jenkins 运维 python 职场和发展 自动化测试
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作