持续集成-CI&CD
文章平均质量分 83
持续集成
最美dee时光
good good study
展开
-
docker-compose 安装gitlab
写在前面的话:docker-compose的文件是通用的,因此可以切换任意版本的gitlab的镜像版本。原创 2023-12-25 16:52:18 · 2011 阅读 · 0 评论 -
在k8s中将gitlab-runner的运行pod调度到指定节点
本篇和前面的。原创 2023-12-25 16:40:37 · 1388 阅读 · 0 评论 -
云原生的 CI/CD 框架tekton - Trigger(二)
上一篇为大家详细介绍了,由于里面涉及到的概念比较多,因此需要好好消化下。同样,今天在特别为大家分享下tekton - Trigger以及案例演示,希望可以给大家提供一种思路哈。原创 2023-12-05 22:07:30 · 1086 阅读 · 0 评论 -
云原生的 CI/CD 框架tekton - pipeline(一)
Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pipeline 的功能,但是随着不同的功能加入到 Knative build 模块中,build 模块越来越变得像一个通用的 CI/CD 系统,于是,索性将 build-pipeline 剥离出 Knative,就变成了现在的 Tekton,而 Tekton 也从此致力于提供全功能、标准化的云原生 CI/CD 解决方案。原创 2023-12-05 15:11:21 · 969 阅读 · 1 评论 -
gitlab高级功能之mirroring - push mirroring(一)
推送镜像是一个下游存储库,用于镜像对上游存储库所做的提交。推送镜像被动接收对上游存储库所做的提交的副本。为防止镜像与上游存储库分流,请勿将提交直接推送到下游镜像。改为将提交推送到上游存储库。原创 2023-12-04 18:03:20 · 2277 阅读 · 0 评论 -
使用trigger-forward跨流水线传递参数
默认情况下,只有yaml定义的变量被传递给下游管道,使用forward关键字,现在可以传递它手动管道变量下游管道。forward:yaml_variables是一个已经存在的行为,默认为true。当为true时,将传递给yaml定义的变量到下游管道。forward:pipeline_variables是一个新特性,默认为false。当为true时,手动管道变量被传递给下游管道。原创 2023-12-02 22:13:22 · 311 阅读 · 0 评论 -
gitlab高级功能之容器镜像仓库
今天给大家介绍一个gitlab的高级功能 - Container Registry,该功能可以实现docker镜像的仓库功能,将gitlab上的代码仓的代码通过docker构建后并推入到容器仓库中,好处就是无需再额外部署一套docker仓库。原创 2023-12-02 21:49:57 · 1591 阅读 · 0 评论 -
基于gitlab的webhook集成jenkins,并在gitlab流水线中展示jenkins的job状态信息
updateGitlabCommitStatus 可以将jenkins的构建信息写到gitlab的流水线中。可以是用户名和密码,也可以是个人token,建议两个都保存下即可,后面会有用到。此处需要gitlab的令牌token,并需要通过`Test Connection。可以在gitlab的pipeline上看到jenkins的构建信息。选择你需要配置的项目 - 设置 - webhooks - 添加。将pipeline文件里面的信息粘贴进去。,因为我们可以创建一个mr来触发。由于jenkins上的。原创 2023-11-30 18:58:42 · 1426 阅读 · 1 评论 -
在gitlab中的使用kaniko打造流水线
kaniko 是一种从容器或 Kubernetes 集群内的 Dockerfile 构建容器镜像的工具。Docker-in-Docker需要特权模式才能运行,这是一个重大的安全问题。Docker-in-Docker通常会降低性能,并且速度可能非常慢。原创 2023-11-10 08:54:20 · 1523 阅读 · 0 评论 -
在gitlab中指定自定义 CI/CD 配置文件
指定自定义 CI/CD 配置文件,顾名思义就是在项目中指定文件来代替默认的.gitlab-ci.yml文件的方式来运行流水线。以往我们在使用流水线的时候,都是默认将.gitlab-ci.yml文件存在在项目的跟路径下,但是我们也可以指定备用文件名路径,或者不想在每个项目中来维护这个yml文件,那么通过自定义 CI/CD 配置文件便可以实现。原创 2023-11-10 09:03:54 · 3456 阅读 · 0 评论 -
在k8s中部署jenkins并通过pipeline发布项目
本篇目录链接背景需求:前置条件:step1:准备相关文件step2:编写jenkins的dockerfile文件step3:编写jenkins服务的rbac文件step4:编写jenkins的资源清单文件(deployment和service)step5:创建jenkins服务step6:验证1、新建项目--流水线2、创建并编写pipeline3、运行流水线step7:流水线代码step8:优化点背景需求:由于目前现有Jenkins上的项目多、杂,不仅有开发、测试、灰度、生产,而且还有一些其他的脚本实现原创 2021-11-21 19:45:32 · 2873 阅读 · 4 评论 -
持续集成环境(七)-Jenkins的参数化构建和Extended Choice Parameter参数化构建
有时在项目构建的过程中,我们需要根据用户的输入动态传入一些参数,从而影响整个构建结果,这时我们可以使用参数化构建。Jenkins支持非常丰富的参数类型接下来演示通过输入gitlab项目的分支名称来部署不同分支项目,以master为例。1. 在Jenkins添加字符串类型参数2. 改动pipeline流水线代码3. 验证因为只有一个master可选项,点击开始构建即可构建结束后4. Extended Choice Parameter参数化构建4.1 安装插件安装完成后再次点原创 2021-03-22 21:18:23 · 1027 阅读 · 0 评论 -
持续集成环境(六)-Git hook自动触发构建
上章节我们看到在Jenkins的内置构建触发器中,轮询SCM可以实现Gitlab代码更新,项目自动构建,但是该方案的性能不佳。那有没有更好的方案呢?有的。就是利用Gitlab的webhook实现代码push到仓库,立即触发项目自动构建。1. 安装Gitlab Hook插件需要安装两个插件:Gitlab Hook和GitLab2. Jenkins设置自动构建稍后需要把生成的webhook URL配置到Gitlab中3. Gitlab配置webhook3.1 开启webhook功能(使用ro原创 2021-03-22 21:13:05 · 252 阅读 · 0 评论 -
持续集成环境(五)-Jenkins常用的构建触发器
Jenkins内置4种构建触发器:触发远程构建其他工程构建后触发(Build after other projects are build)定时构建(Build periodically)轮询SCM(Poll SCM)1 触发远程构建配置同前面一致,只是此处勾选了触发远程构建,添加了令牌触发构建url:http://10.99.200.111:9999/job/web_deam004/build?token=123456立即构建后访问测试2 其他工程构建后触发如下构建过程we原创 2021-03-22 21:07:30 · 292 阅读 · 0 评论 -
持续集成环境(四)-Maven项目构建和Pipeline流水线项目构建
1 Maven项目构建1.1 安装Maven Integration插件1.2 创建Maven项目1.3 配置项目拉取代码和远程部署的过程和自由风格项目一样,只是"构建"部分不同。2 Pipeline流水线项目构建2.1 Pipeline简介1)概念Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。2)使用Pipeline有以下好处代码:Pipeline原创 2021-03-22 21:01:26 · 2260 阅读 · 0 评论 -
持续集成环境(三)-Jenkins构建自由风格项目
1 Jenkins项目构建类型介绍Jenkins中自动构建项目的类型有很多,常用的有以下三种:自由风格软件项目(FreeStyle Project)Maven项目(Maven Project)流水线项目(Pipeline Project)每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。(PS:个人推荐使用流水线类型,因为灵活度非常高)2 自由风格项目构建下面演示创建一个自由风格项目来完成项目的集成过程:拉原创 2021-03-22 20:46:53 · 456 阅读 · 0 评论 -
持续集成环境(二)-Jenkins安装和插件管理与应用
1、简介官网: http://jenkins-ci.orgJenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins的特征:开源的Java语言开发持续集成工具,支持持续集成,持续部署。易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-ma原创 2021-03-21 19:23:13 · 391 阅读 · 0 评论 -
持续集成环境(一)-Gitlab代码托管服务器安装和使用
1. Gitlab简介官网:https://about.gitlab.com/GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,简单来说可把GitLab看作个人版的GitHub原创 2021-03-21 18:45:49 · 498 阅读 · 0 评论 -
Gitlab的安装(附docker安装)、使用和备份
Gitlab的安装、使用和备份1 安装gitab1.1 yum安装1)配置yum源,更新本地yum缓存cat << EOF > /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-cebaseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7gp...原创 2020-04-20 22:18:19 · 524 阅读 · 0 评论 -
Jinkens自动发布服务
1、环境信息2、部署jdk1.8环境(169和119)1)方法一:参考java环境2)方法二:粘贴以下命令echo 'export JAVA_HOME=/usr/local/jdk1.8.0_201' >> /etc/profileecho 'export PATH=$JAVA_HOME/bin/:$PATH' >> /etc/profileecho 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/原创 2020-05-11 11:37:05 · 533 阅读 · 0 评论