计算机系统应用教程网站

网站首页 > 技术文章 正文

基于Gitlab,gitlab-runner,k8s 的CICD

btikc 2024-09-03 11:40:54 技术文章 27 ℃ 0 评论

GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:

  • Continuous Integration (CI) 持续集成
  • Continuous Delivery (CD) 持续交付
  • Continuous Deployment (CD) 持续部署

持续集成的工作原理是将小的代码块推送到Git仓库中托管的应用程序代码库中,并且每次推送时,都要运行一系列脚本来构建、测试和验证代码更改,然后再将其合并到主分支中。

持续交付和部署相当于更进一步的CI,可以在每次推送到仓库默认分支的同时将应用程序部署到生产环境。

这些方法使得可以在开发周期的早期发现bugs和errors,从而确保部署到生产环境的所有代码都符合为应用程序建立的代码标准。

GitLab CI/CD 由一个名为 .gitlab-ci.yml 的文件进行配置,该文件位于仓库的根目录下。文件中指定的脚本由GitLab Runner执行。

1. 安装gitlab-runner

sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386

2.下载完之后,需要给gitlab-runner执行权限,

sudo chmod +x /usr/local/bin/gitlab-runner

之后创建一个gitlab-runner用户,之后使用CI/CD时,都是在这个用户下进行的。

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

创建好了用户之后,接下来安装gitlab-runner

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runne

3.配置完成后,如下图

为你的应用创建策略,GitLab会根据你的定义来运行pipeline。你的管道状态也会由GitLab显示:

3.gitlab-runner 配置注册完成后,就可以利用pipeline 来配置job,执行CICD流程

3.1 简单测试的job配置如下,大概如下:

3.2 开发提交代码:

3.3 gitlab-runner 发现gitlab 有代码push后,便会触发pipeline 开始工作

1. 依据dockerfile 构建镜像

2.将镜像推送到仓库,如下图

3. 在job 里执行shell 脚本 替换k8s deployment ,service 相关变量值

4. 执行ansible-playbook 远程推送到k8s 环境

5. 利用kuboard 查看服务部署状态

6. 访问测试

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表